playbin: Only intersect to check if a sink can handle raw caps

Doing a subset check requires fixed caps, which we might not have here.

https://bugs.webkit.org/show_bug.cgi?id=116042
This commit is contained in:
Sebastian Dröge 2013-07-01 13:45:25 +02:00
parent 065f1603b0
commit f39d1dc3b4

View file

@ -4133,7 +4133,6 @@ sink_accepts_caps (GstPlayBin * playbin, GstElement * sink, GstCaps * caps)
return TRUE;
}
static GstStaticCaps raw_audio_caps = GST_STATIC_CAPS ("audio/x-raw");
static GstStaticCaps raw_video_caps = GST_STATIC_CAPS ("video/x-raw");
@ -4281,9 +4280,9 @@ autoplug_select_cb (GstElement * decodebin, GstPad * pad,
* any raw format.
*/
if ((isaudiodec && !(flags & GST_PLAY_FLAG_NATIVE_AUDIO)
&& gst_caps_is_subset (caps, raw_caps)) || (!isaudiodec
&& gst_caps_can_intersect (caps, raw_caps)) || (!isaudiodec
&& !(flags & GST_PLAY_FLAG_NATIVE_VIDEO)
&& gst_caps_is_subset (caps, raw_caps))) {
&& gst_caps_can_intersect (caps, raw_caps))) {
compatible =
gst_element_factory_can_src_any_caps (factory, raw_caps)
|| gst_element_factory_can_src_any_caps (factory, caps);