diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2007-11-26 12:26:20 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2007-11-26 12:26:20 +0000 |
commit | d37e93af90082a0b30640bc278bb11994fa63636 (patch) | |
tree | dafffab23e2bbea413dd2e94b09727dd41fe3d76 | |
parent | 9f75afd5fde595319679d116edbc4fea6a215d0b (diff) |
gst/level/gstlevel.c: Add GAP-flag support.
Original commit message from CVS:
* gst/level/gstlevel.c:
Add GAP-flag support.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gst/level/gstlevel.c | 16 |
2 files changed, 15 insertions, 6 deletions
@@ -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): diff --git a/gst/level/gstlevel.c b/gst/level/gstlevel.c index 2a499a31..f3e1cb62 100644 --- a/gst/level/gstlevel.c +++ b/gst/level/gstlevel.c @@ -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] += |