v4l2videodec: fix freeze race condition
fixes #4057 (closed)
This fixes a possible deadlock between gst_v4l2_video_dec_change_state and gst_v4l2_video_dec_loop on the buffer pool.
When stopping capture, the flushing state of the v4l2 capture buffer pool gets reverted in the processing loop after it was set via gst_v4l2_object_unlock (self->v4l2capture) (in gst_v4l2_video_dec_change_state). As a result, gst_v4l2_video_dec_loop does not return and consequently, gst_pad_stop_task gets stuck waiting for the GST_PAD_STREAM_LOCK. To circumvent this, skip acquiring the buffer pool if stopping capture.