mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
ext, gst: only activate in pull mode if upstream is seekable
This commit is contained in:
parent
d1b26e1d59
commit
f12ef67f56
7 changed files with 14 additions and 7 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue