valve: Don't drop non-serialized queries when the valve is dropping

Otherwise we end up dropping e.g. CAPS queries, and then upstream just
negotiates to whatever format it wants to. Once the valve is not-dropping
anymore this can easily result in negotiation failing completely.

https://bugzilla.gnome.org/show_bug.cgi?id=746448
This commit is contained in:
Sebastian Dröge 2015-03-19 13:51:38 +01:00
parent bc282da83c
commit 6a6188a82f

View file

@ -253,7 +253,7 @@ gst_valve_query (GstPad * pad, GstObject * parent, GstQuery * query)
{
GstValve *valve = GST_VALVE (parent);
if (g_atomic_int_get (&valve->drop))
if (GST_QUERY_IS_SERIALIZED (query) && g_atomic_int_get (&valve->drop))
return FALSE;
return gst_pad_query_default (pad, parent, query);