From a559bb7060a68dff1fcc2e99fc7c67149a570ec4 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 29 Oct 2012 17:22:28 +0000 Subject: sbc: sbcdec: set DISCONT on outgoing buffers. --- ext/sbc/gstsbcdec.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ext/sbc') 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; -- cgit v1.2.1