playbin: First try to get the pad's current caps, then query caps
authorSebastian Dröge <sebastian@centricular.com>
Tue, 11 Feb 2014 15:35:45 +0000 (16:35 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 11 Feb 2014 15:36:20 +0000 (16:36 +0100)
The caps query might give us ANY caps while the pad has fixed caps
configured currently.

gst/playback/gstplaybin2.c

index a105e8f..40c0252 100644 (file)
@@ -2994,7 +2994,9 @@ pad_added_cb (GstElement * decodebin, GstPad * pad, GstSourceGroup * group)
 
   playbin = group->playbin;
 
-  caps = gst_pad_query_caps (pad, NULL);
+  caps = gst_pad_get_current_caps (pad);
+  if (!caps)
+    caps = gst_pad_query_caps (pad, NULL);
   s = gst_caps_get_structure (caps, 0);
   name = gst_structure_get_name (s);