summaryrefslogtreecommitdiff
path: root/ext/sbc
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-10-29 17:22:28 +0000
committerTim-Philipp Müller <tim@centricular.net>2013-03-27 22:21:17 +0000
commita559bb7060a68dff1fcc2e99fc7c67149a570ec4 (patch)
tree52ed4367704d82f837f1512ca58c4a4df9361221 /ext/sbc
parentbeaeeafb4dbe2ce6493dd489a1374153e1cb067d (diff)
downloadgstreamer-plugins-bad-a559bb7060a68dff1fcc2e99fc7c67149a570ec4.tar.gz
sbc: sbcdec: set DISCONT on outgoing buffers.
Diffstat (limited to 'ext/sbc')
-rw-r--r--ext/sbc/gstsbcdec.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/sbc/gstsbcdec.c b/ext/sbc/gstsbcdec.c
index 180c1379a..98aa94b6f 100644
--- a/ext/sbc/gstsbcdec.c
+++ b/ext/sbc/gstsbcdec.c
@@ -62,10 +62,12 @@ sbc_dec_chain (GstPad * pad, GstBuffer * buffer)
guint size, codesize, offset = 0;
guint8 *data;
GstClockTime timestamp;
+ gboolean discont;
codesize = sbc_get_codesize (&dec->sbc);
- if (GST_BUFFER_IS_DISCONT (buffer)) {
+ discont = GST_BUFFER_IS_DISCONT (buffer);
+ if (discont) {
/* reset previous buffer */
gst_buffer_unref (dec->buffer);
dec->buffer = NULL;
@@ -156,6 +158,11 @@ sbc_dec_chain (GstPad * pad, GstBuffer * buffer)
gst_buffer_set_caps (output, dec->outcaps);
+ if (discont) {
+ GST_BUFFER_FLAG_SET (output, GST_BUFFER_FLAG_DISCONT);
+ discont = FALSE;
+ }
+
res = gst_pad_push (dec->srcpad, output);
if (res != GST_FLOW_OK)
goto done;