diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-10-29 17:22:28 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2013-03-27 22:21:17 +0000 |
commit | a559bb7060a68dff1fcc2e99fc7c67149a570ec4 (patch) | |
tree | 52ed4367704d82f837f1512ca58c4a4df9361221 /ext/sbc | |
parent | beaeeafb4dbe2ce6493dd489a1374153e1cb067d (diff) |
sbc: sbcdec: set DISCONT on outgoing buffers.
Diffstat (limited to 'ext/sbc')
-rw-r--r-- | ext/sbc/gstsbcdec.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/sbc/gstsbcdec.c b/ext/sbc/gstsbcdec.c index 180c1379a8..98aa94b6f3 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; |