gst: only activate in pull mode if upstream is seekable
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 11 Sep 2012 15:37:03 +0000 (17:37 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 11 Sep 2012 15:45:39 +0000 (17:45 +0200)
gst/asfdemux/gstasfdemux.c
gst/realmedia/rademux.c
gst/realmedia/rmdemux.c

index eb41a50..caa4d3c 100644 (file)
@@ -300,7 +300,8 @@ gst_asf_demux_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)
index 083033b..95ec6ed 100644 (file)
@@ -189,7 +189,8 @@ gst_real_audio_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)
index 8624339..10cb9f0 100644 (file)
@@ -753,7 +753,8 @@ gst_rmdemux_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)