summaryrefslogtreecommitdiffstats
path: root/gst/level/gstlevel.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/level/gstlevel.c')
-rw-r--r--gst/level/gstlevel.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/level/gstlevel.c b/gst/level/gstlevel.c
index ab641183..270ba239 100644
--- a/gst/level/gstlevel.c
+++ b/gst/level/gstlevel.c
@@ -547,9 +547,12 @@ gst_level_transform_ip (GstBaseTransform * trans, GstBuffer * in)
decaydB = 10 * log10 (filter->decay_peak[i]);
if (filter->decay_peak[i] < filter->last_peak[i]) {
- GST_ERROR_OBJECT (filter,
- "message: decay peak dB %f smaller than last peak dB %f",
+ /* this can happen in certain cases, for example when
+ * the last peak is between decay_peak and decay_peak_base */
+ GST_DEBUG_OBJECT (filter,
+ "message: decay peak dB %f smaller than last peak dB %f, copying",
decaydB, lastdB);
+ filter->decay_peak[i] = filter->last_peak[i];
}
GST_LOG_OBJECT (filter,
"message: RMS %f dB, peak %f dB, decay %f dB",