From: Mark Nauwelaerts Date: Tue, 11 Sep 2012 15:47:16 +0000 (+0200) Subject: ext, gst: only activate in pull mode if upstream is seekable X-Git-Tag: 1.19.3~507^2~14975 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b807753453f354bad4b841a747a978f1de6679ca;p=platform%2Fupstream%2Fgstreamer.git ext, gst: only activate in pull mode if upstream is seekable --- diff --git a/ext/modplug/gstmodplug.cc b/ext/modplug/gstmodplug.cc index 103812eb1d..e2a178649e 100644 --- a/ext/modplug/gstmodplug.cc +++ b/ext/modplug/gstmodplug.cc @@ -565,7 +565,8 @@ gst_modplug_sinkpad_activate (GstPad * sinkpad, GstObject * parent) goto activate_push; } - pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL); + pull_mode = gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE); gst_query_unref (query); if (!pull_mode) diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c index 34d500504b..a687707ae3 100644 --- a/ext/resindvd/gstmpegdemux.c +++ b/ext/resindvd/gstmpegdemux.c @@ -2040,7 +2040,8 @@ gst_flups_demux_sink_activate (GstPad * sinkpad, GstObject * parent) GstQuery *query = gst_query_new_scheduling (); if (gst_pad_peer_query (sinkpad, query)) { - if (gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL)) { + if (gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE)) { res = gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE); } else { res = gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PUSH, TRUE); diff --git a/gst/asfmux/gstasfparse.c b/gst/asfmux/gstasfparse.c index 0cf2671eed..25dd3e761f 100644 --- a/gst/asfmux/gstasfparse.c +++ b/gst/asfmux/gstasfparse.c @@ -74,7 +74,8 @@ gst_asf_parse_sink_activate (GstPad * sinkpad, GstObject * parent) goto activate_push; } - pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL); + pull_mode = gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE); gst_query_unref (query); if (!pull_mode) diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index 578344c596..66d05eec85 100644 --- a/gst/mpegdemux/gstmpegdemux.c +++ b/gst/mpegdemux/gstmpegdemux.c @@ -2862,7 +2862,8 @@ gst_flups_demux_sink_activate (GstPad * sinkpad, GstObject * parent) GstQuery *query = gst_query_new_scheduling (); if (gst_pad_peer_query (sinkpad, query)) { - if (gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL)) { + if (gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE)) { res = gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE); } else { res = gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PUSH, TRUE); diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index 7dee9f145c..07db398905 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1752,7 +1752,8 @@ mpegts_base_sink_activate (GstPad * sinkpad, GstObject * parent) goto activate_push; } - pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL); + pull_mode = gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE); gst_query_unref (query); if (!pull_mode) diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c index 2e3765cbb2..f315d5ed65 100644 --- a/gst/rawparse/gstrawparse.c +++ b/gst/rawparse/gstrawparse.c @@ -461,7 +461,8 @@ gst_raw_parse_sink_activate (GstPad * sinkpad, GstObject * parent) query = gst_query_new_scheduling (); if (gst_pad_peer_query (sinkpad, query)) - pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL); + pull_mode = gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE); gst_query_unref (query);