diff options
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-09-11 17:47:16 +0200 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-09-11 17:47:33 +0200 |
commit | b807753453f354bad4b841a747a978f1de6679ca (patch) | |
tree | 9bb9809787f6739482fea819bce4a745f559c1e7 | |
parent | 3f0a844f9db13c785de7cb150ea1165590b3d0a5 (diff) |
ext, gst: only activate in pull mode if upstream is seekable
-rw-r--r-- | ext/modplug/gstmodplug.cc | 3 | ||||
-rw-r--r-- | ext/resindvd/gstmpegdemux.c | 3 | ||||
-rw-r--r-- | gst/asfmux/gstasfparse.c | 3 | ||||
-rw-r--r-- | gst/mpegdemux/gstmpegdemux.c | 3 | ||||
-rw-r--r-- | gst/mpegtsdemux/mpegtsbase.c | 3 | ||||
-rw-r--r-- | gst/rawparse/gstrawparse.c | 3 |
6 files changed, 12 insertions, 6 deletions
diff --git a/ext/modplug/gstmodplug.cc b/ext/modplug/gstmodplug.cc index 103812eb1..e2a178649 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 34d500504..a687707ae 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 0cf2671ee..25dd3e761 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 578344c59..66d05eec8 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 7dee9f145..07db39890 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 2e3765cbb..f315d5ed6 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); |