basetransform: don't propose_allocation before negotiation

Answer the allocation query with FALSE when we are not negotiated yet because at
that point we have no idea if we need to proxy the allocation query or not.
This commit is contained in:
Wim Taymans 2012-03-05 15:23:46 +01:00
parent 7eae198be2
commit 247d2d08f7

View file

@ -1362,13 +1362,20 @@ gst_base_transform_default_query (GstBaseTransform * trans,
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_ALLOCATION:
{
GstQuery *decide_query;
GstQuery *decide_query = NULL;
gboolean negotiated;
/* can only be done on the sinkpad */
if (direction != GST_PAD_SINK)
goto done;
GST_OBJECT_LOCK (trans);
if (G_UNLIKELY (!(negotiated = trans->negotiated))) {
GST_DEBUG_OBJECT (trans,
"not negotiated yet, can't answer ALLOCATION query");
GST_OBJECT_UNLOCK (trans);
goto done;
}
if ((decide_query = trans->priv->query))
gst_query_ref (decide_query);
GST_OBJECT_UNLOCK (trans);