From f12ef67f56e0963dee2092666d50635a31610f5b Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Tue, 11 Sep 2012 17:36:51 +0200 Subject: [PATCH] ext, gst: only activate in pull mode if upstream is seekable --- ext/dv/gstdvdemux.c | 3 ++- gst/avi/gstavidemux.c | 3 ++- gst/debugutils/rndbuffersize.c | 3 ++- gst/flv/gstflvdemux.c | 3 ++- gst/isomp4/qtdemux.c | 3 ++- gst/matroska/matroska-demux.c | 3 ++- gst/wavparse/gstwavparse.c | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index c6e0bf1..15ad1d9 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -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) diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 6786bf8..7cd1a0e 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -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) diff --git a/gst/debugutils/rndbuffersize.c b/gst/debugutils/rndbuffersize.c index 243b1c7..68a2705 100644 --- a/gst/debugutils/rndbuffersize.c +++ b/gst/debugutils/rndbuffersize.c @@ -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; diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c index 74ff1b7..30a3254 100644 --- a/gst/flv/gstflvdemux.c +++ b/gst/flv/gstflvdemux.c @@ -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) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 1b316ad..afff96e 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -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) diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index 819c97f..fff354b 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -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); diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c index 82dbc05..7304387 100644 --- a/gst/wavparse/gstwavparse.c +++ b/gst/wavparse/gstwavparse.c @@ -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) -- 2.7.4