playbin2: Only consider the audio/video sinks in autoplug_continue for the normal...
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 17 Mar 2011 12:47:10 +0000 (13:47 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 23 Mar 2011 13:28:36 +0000 (14:28 +0100)
Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.

gst/playback/gstplaybin2.c

index 8d6dbcc..a2082ba 100644 (file)
@@ -2972,9 +2972,17 @@ autoplug_continue_cb (GstElement * element, GstPad * pad, GstCaps * caps,
     ret = !gst_caps_can_intersect (caps, subcaps);
     gst_caps_unref (subcaps);
   }
+  /* If autoplugging can stop don't do additional checks */
   if (!ret)
     goto done;
 
+  /* If this is from the subtitle uridecodebin we don't need to
+   * check the audio and video sink */
+  if (group->suburidecodebin
+      && gst_object_has_ancestor (GST_OBJECT_CAST (element),
+          GST_OBJECT_CAST (group->suburidecodebin)))
+    goto done;
+
   if ((sink = group->playbin->audio_sink)) {
     sinkpad = gst_element_get_static_pad (sink, "sink");
     if (sinkpad) {