- double loudness_s, loudness_i, peak_level_l, peak_level_r;
- double lra;
- ebur128_loudness_shortterm(r128_state, &loudness_s);
- ebur128_loudness_global(r128_state, &loudness_i);
- ebur128_loudness_range(r128_state, &lra);
- ebur128_true_peak(r128_state, 0, &peak_level_l);
- ebur128_true_peak(r128_state, 1, &peak_level_r);
-
- // FIXME: This is wrong. We need proper support from libebur128 for this.
- double loudness_range_low = loudness_i - 0.5 * lra;
- double loudness_range_high = loudness_i + 0.5 * lra;
-
- audio_level_callback(loudness_s, 20.0 * log10(max(peak_level_l, peak_level_r)),
+ double loudness_s = r128.loudness_S();
+ double loudness_i = r128.integrated();
+ double loudness_range_low = r128.range_min();
+ double loudness_range_high = r128.range_max();
+
+ audio_level_callback(loudness_s, 20.0 * log10(peak),