decodebin: Let serialize queries before caps events through

Otherwise we're going to deadlock forever because no autoplugging
happens without having caps, but caps can never be send because
we're blocking.

Serialized queries before caps should never be sent unless really
necessary.
This commit is contained in:
Sebastian Dröge 2013-06-06 15:57:49 +02:00
parent 15bbf42088
commit c49531f1b7

View file

@ -4116,6 +4116,15 @@ source_pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
GST_LOG_OBJECT (pad, "Letting non-serialized query through");
return GST_PAD_PROBE_PASS;
}
if (!gst_pad_has_current_caps (pad)) {
/* do not block on allocation queries before we have caps,
* this would deadlock because we are doing no autoplugging
* without caps.
* TODO: Try to do autoplugging based on the query caps
*/
GST_LOG_OBJECT (pad, "Letting serialized query before caps through");
return GST_PAD_PROBE_PASS;
}
}
chain = dpad->chain;
dbin = chain->dbin;