diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2013-10-09 17:18:41 +0200 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-10-09 17:18:41 +0200 |
commit | f0b5d84c544a1f36e7ea9c4b7d857b8b95eac153 (patch) | |
tree | 4de5aa453746ebd21235ad6de70ae438eb12be18 /gst/speed/gstspeed.c | |
parent | f16e70e4ca5d03b4931283b6b812dde2e322619d (diff) | |
download | gstreamer-plugins-bad-f0b5d84c544a1f36e7ea9c4b7d857b8b95eac153.tar.gz |
speed: Fix some bytes-per-frame vs. bytes-per-sample mixups
Otherwise we will crash when handling multiple channels and
miscalculate timestamps.
https://bugzilla.gnome.org/show_bug.cgi?id=709734
Diffstat (limited to 'gst/speed/gstspeed.c')
-rw-r--r-- | gst/speed/gstspeed.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/speed/gstspeed.c b/gst/speed/gstspeed.c index f11f90684..f4653c740 100644 --- a/gst/speed/gstspeed.c +++ b/gst/speed/gstspeed.c @@ -594,7 +594,7 @@ speed_chain (GstPad * pad, GstObject * parent, GstBuffer * in_buf) out_buf = gst_buffer_new_and_alloc (out_size); in_samples = gst_buffer_get_size (in_buf) / - GST_AUDIO_INFO_BPS (&filter->info); + GST_AUDIO_INFO_BPF (&filter->info); out_samples = 0; @@ -606,13 +606,13 @@ speed_chain (GstPad * pad, GstObject * parent, GstBuffer * in_buf) speed_chain_float32 (filter, in_buf, out_buf, c, in_samples); } - size = out_samples * GST_AUDIO_INFO_BPS (&filter->info); + size = out_samples * GST_AUDIO_INFO_BPF (&filter->info); gst_buffer_set_size (out_buf, size); GST_BUFFER_OFFSET (out_buf) = filter->offset; GST_BUFFER_TIMESTAMP (out_buf) = filter->timestamp; - filter->offset += size / GST_AUDIO_INFO_BPS (&filter->info); + filter->offset += size / GST_AUDIO_INFO_BPF (&filter->info); filter->timestamp = gst_util_uint64_scale_int (filter->offset, GST_SECOND, GST_AUDIO_INFO_RATE (&filter->info)); |