gst/level/gstlevel.c: Add GAP-flag support.
authorStefan Kost <ensonic@users.sourceforge.net>
Mon, 26 Nov 2007 12:26:20 +0000 (12:26 +0000)
committerStefan Kost <ensonic@users.sourceforge.net>
Mon, 26 Nov 2007 12:26:20 +0000 (12:26 +0000)
Original commit message from CVS:
* gst/level/gstlevel.c:
Add GAP-flag support.

ChangeLog
gst/level/gstlevel.c

index 52f1536..d02b12d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-26  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/level/gstlevel.c:
+         Add GAP-flag support.
+
 2007-11-26  Edward Hervey  <bilboed@bilboed.com>
 
        * gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_process):
index 2a499a3..f3e1cb6 100644 (file)
@@ -523,12 +523,16 @@ gst_level_transform_ip (GstBaseTransform * trans, GstBuffer * in)
   num_frames = num_int_samples / filter->channels;
 
   for (i = 0; i < filter->channels; ++i) {
-    filter->process (in_data, num_int_samples, filter->channels, &CS,
-        &filter->peak[i]);
-    GST_LOG_OBJECT (filter,
-        "channel %d, cumulative sum %f, peak %f, over %d samples/%d channels",
-        i, CS, filter->peak[i], num_int_samples, filter->channels);
-    filter->CS[i] += CS;
+    if (!GST_BUFFER_FLAG_IS_SET (in, GST_BUFFER_FLAG_GAP)) {
+      filter->process (in_data, num_int_samples, filter->channels, &CS,
+          &filter->peak[i]);
+      GST_LOG_OBJECT (filter,
+          "channel %d, cumulative sum %f, peak %f, over %d samples/%d channels",
+          i, CS, filter->peak[i], num_int_samples, filter->channels);
+      filter->CS[i] += CS;
+    } else {
+      filter->peak[i] = 0.0;
+    }
     in_data += (filter->width / 8);
 
     filter->decay_peak_age[i] +=