summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorArnaud Vrac <avrac@freebox.fr>2013-07-17 17:11:44 +0200
committerTim-Philipp Müller <tim@centricular.net>2013-07-17 19:25:25 +0100
commitf0ed628ea5daa98d2d4acc0e38d40bce1944ddaa (patch)
tree6fbbc54d67ad0009f3de726f910c912ff31beb69 /gst
parentb13c6053d90493084391588ae68b5d8370d3f452 (diff)
downloadgst-plugins-good-f0ed628ea5daa98d2d4acc0e38d40bce1944ddaa.tar.gz
gst-plugins-good-f0ed628ea5daa98d2d4acc0e38d40bce1944ddaa.tar.xz
mastrokademux: do not push discont buffers if they aren't discont
Unset the discont flag instead of posssibly pushing a buffer with a flag that's still set. https://bugzilla.gnome.org/show_bug.cgi?id=682110
Diffstat (limited to 'gst')
-rw-r--r--gst/matroska/matroska-demux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index f56ea05fa..94db0009b 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -2567,6 +2567,8 @@ gst_matroska_demux_push_hdr_buf (GstMatroskaDemux * demux,
if (stream->set_discont) {
GST_BUFFER_FLAG_SET (header_buf, GST_BUFFER_FLAG_DISCONT);
stream->set_discont = FALSE;
+ } else {
+ GST_BUFFER_FLAG_UNSET (header_buf, GST_BUFFER_FLAG_DISCONT);
}
ret = gst_pad_push (stream->pad, header_buf);
@@ -3693,6 +3695,8 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux,
GST_DEBUG_OBJECT (demux, "marking DISCONT");
GST_BUFFER_FLAG_SET (sub, GST_BUFFER_FLAG_DISCONT);
stream->set_discont = FALSE;
+ } else {
+ GST_BUFFER_FLAG_UNSET (sub, GST_BUFFER_FLAG_DISCONT);
}
/* reverse playback book-keeping */