mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-15 22:01:27 +00:00
v4l2videodec: Fix missing handling of resolution-change
The pool process function may poll and get the resolution-change event whenever it is not possible to share our buffers. This typically happen when downstream does not support GstVideoMeta. Not handling this would cause the decoder thread to exit silently and the pipeline to stall. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2457>
This commit is contained in:
parent
4e441417b8
commit
6d6ebbbb36
1 changed files with 6 additions and 0 deletions
|
@ -699,6 +699,12 @@ gst_v4l2_video_dec_loop (GstVideoDecoder * decoder)
|
|||
|
||||
GST_LOG_OBJECT (decoder, "Process output buffer");
|
||||
ret = gst_v4l2_buffer_pool_process (v4l2_pool, &buffer, NULL);
|
||||
|
||||
if (ret == GST_V4L2_FLOW_RESOLUTION_CHANGE) {
|
||||
GST_INFO_OBJECT (decoder, "Received resolution change");
|
||||
g_atomic_int_set (&self->capture_configuration_change, TRUE);
|
||||
return;
|
||||
}
|
||||
} while (ret == GST_V4L2_FLOW_CORRUPTED_BUFFER);
|
||||
|
||||
if (ret != GST_FLOW_OK)
|
||||
|
|
Loading…
Reference in a new issue