summaryrefslogtreecommitdiffstats
path: root/ext/wavpack/gstwavpackdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/wavpack/gstwavpackdec.c')
-rw-r--r--ext/wavpack/gstwavpackdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/wavpack/gstwavpackdec.c b/ext/wavpack/gstwavpackdec.c
index 8e46e61f..5adaf1be 100644
--- a/ext/wavpack/gstwavpackdec.c
+++ b/ext/wavpack/gstwavpackdec.c
@@ -359,6 +359,11 @@ gst_wavpack_dec_chain (GstPad * pad, GstBuffer * buf)
goto out;
gst_buffer_stamp (outbuf, buf);
+ /* If we got a DISCONT buffer forward the flag. Nothing else
+ * has to be done as libwavpack doesn't store state between
+ * Wavpack blocks */
+ if (GST_BUFFER_IS_DISCONT (buf))
+ GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT);
/* decode */
decoded = WavpackUnpackSamples (dec->context,