From f6da7ea8bb865861c8bf4b9ce885f4a16a7e138c Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Fri, 24 Jan 2014 21:41:25 +0100 Subject: [PATCH] mxfdemux: Don't go into pull mode when the sequential flag is set When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set in its flags don't go into pull mode to prevent over-eager seeking. https://bugzilla.gnome.org/show_bug.cgi?id=722934 --- gst/mxf/mxfdemux.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c index c5d2beb..7702349 100644 --- a/gst/mxf/mxfdemux.c +++ b/gst/mxf/mxfdemux.c @@ -3687,8 +3687,12 @@ gst_mxf_demux_sink_activate (GstPad * sinkpad, GstObject * parent) if (gst_pad_peer_query (sinkpad, query)) { if (gst_query_has_scheduling_mode_with_flags (query, - GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE)) - mode = GST_PAD_MODE_PULL; + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE)) { + GstSchedulingFlags flags; + gst_query_parse_scheduling (query, &flags, NULL, NULL, NULL); + if (!(flags & GST_SCHEDULING_FLAG_SEQUENTIAL)) + mode = GST_PAD_MODE_PULL; + } } gst_query_unref (query); -- 2.7.4