summaryrefslogtreecommitdiff
path: root/gst/speed/gstspeed.c
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2013-10-09 17:18:41 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-10-09 17:18:41 +0200
commitf0b5d84c544a1f36e7ea9c4b7d857b8b95eac153 (patch)
tree4de5aa453746ebd21235ad6de70ae438eb12be18 /gst/speed/gstspeed.c
parentf16e70e4ca5d03b4931283b6b812dde2e322619d (diff)
downloadgstreamer-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.c6
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));