diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index c7baadc4a5..2d4e930591 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -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;