diff --git a/subprojects/gst-plugins-bad/gst/autoconvert/gstbaseautoconvert.c b/subprojects/gst-plugins-bad/gst/autoconvert/gstbaseautoconvert.c index eecc493056..b928c115fb 100644 --- a/subprojects/gst-plugins-bad/gst/autoconvert/gstbaseautoconvert.c +++ b/subprojects/gst-plugins-bad/gst/autoconvert/gstbaseautoconvert.c @@ -1150,6 +1150,16 @@ gst_base_auto_convert_sink_query (GstPad * pad, GstObject * parent, return ret; } + /* Should not forward the allocation query downstream directly + * if no subelement is selected, otherwise it can influence + * the downstream allocation choices and upstream buffer usage. + */ + if (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION) { + GST_DEBUG_OBJECT (self, + "no subelement is selected yet, can't answer ALLOCATION query"); + return FALSE; + } + ignore_acceptcaps_failure: if (GST_QUERY_TYPE (query) == GST_QUERY_ACCEPT_CAPS) {