ext, gst: only activate in pull mode if upstream is seekable

This commit is contained in:
Mark Nauwelaerts 2012-09-11 17:36:51 +02:00
parent d1b26e1d59
commit f12ef67f56
7 changed files with 14 additions and 7 deletions

View file

@ -1804,7 +1804,8 @@ gst_dvdemux_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)

View file

@ -5415,7 +5415,8 @@ gst_avi_demux_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)

View file

@ -237,7 +237,8 @@ gst_rnd_buffer_size_activate (GstPad * pad, GstObject * parent)
query = gst_query_new_scheduling ();
if (gst_pad_peer_query (pad, 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);
else
pull_mode = FALSE;

View file

@ -2875,7 +2875,8 @@ gst_flv_demux_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)

View file

@ -4496,7 +4496,8 @@ qtdemux_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)

View file

@ -4848,7 +4848,8 @@ gst_matroska_demux_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);

View file

@ -2923,7 +2923,8 @@ gst_wavparse_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)