Commit 34c7cabe authored by Michael Grzeschik's avatar Michael Grzeschik Committed by Tim-Philipp Müller
Browse files

v4l2sink: destroy buffer pool when changing state to NULL



In the case we change the State from READY_TO_NULL the buffers in the pool
still hold an open dup file descriptor to the device, therefore the device
release function will not be called and the device will probably answer with
-EBUSY when we reopen it in the next NULL_TO_READY transition.
Signed-off-by: Michael Grzeschik's avatarMichael Grzeschik <m.grzeschik@pengutronix.de>

See bug #622500 and #612244.
parent 8aed3176
......@@ -461,6 +461,8 @@ gst_v4l2sink_change_state (GstElement * element, GstStateChange transition)
}
break;
case GST_STATE_CHANGE_READY_TO_NULL:
gst_v4l2_buffer_pool_destroy (v4l2sink->pool);
v4l2sink->pool = NULL;
/* close the device */
if (!gst_v4l2_object_stop (v4l2sink->v4l2object))
return GST_STATE_CHANGE_FAILURE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment