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 committed by Tim-Philipp Müller
parent 1ea8c8720e
commit 815166d1ca

View file

@ -252,7 +252,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);