gstv4l2bufferpool: remove critical error message when process is called on an inactive pool

If the pool is inactive, it is guaranteed to also be flushing, so the
following check will return GST_FLOW_FLUSHING anyway.
This can happen if a v4l2src is blocking on DQBUF in create and is sent
an EOS event on another thread. In that case the pool is set to
flushing/inactive without locking, the v4l2src is unblocked, and may
call pool_process with a valid buffer on the already inactive pool.

https://bugzilla.gnome.org/show_bug.cgi?id=775014
This commit is contained in:
Philipp Zabel 2016-11-24 14:25:22 +01:00 committed by Nicolas Dufresne
parent 65826f819a
commit 6b5807654b

View file

@ -1703,8 +1703,6 @@ gst_v4l2_buffer_pool_process (GstV4l2BufferPool * pool, GstBuffer ** buf)
GST_DEBUG_OBJECT (pool, "process buffer %p", buf); GST_DEBUG_OBJECT (pool, "process buffer %p", buf);
g_return_val_if_fail (gst_buffer_pool_is_active (bpool), GST_FLOW_ERROR);
if (GST_BUFFER_POOL_IS_FLUSHING (pool)) if (GST_BUFFER_POOL_IS_FLUSHING (pool))
return GST_FLOW_FLUSHING; return GST_FLOW_FLUSHING;