v4l2: pool: Send drop frame signal after dqbuf success
This is a regression introduced by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5479 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4424 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8969>
This commit is contained in:
parent
5658683881
commit
749987be2b
@ -1294,6 +1294,11 @@ gst_v4l2_buffer_pool_dqbuf (GstV4l2BufferPool * pool, GstBuffer ** buffer,
|
||||
|
||||
res = gst_v4l2_allocator_dqbuf (pool->vallocator, &group);
|
||||
|
||||
if (res == GST_V4L2_FLOW_LAST_BUFFER)
|
||||
goto eos;
|
||||
if (res != GST_FLOW_OK)
|
||||
goto dqbuf_failed;
|
||||
|
||||
if (group->buffer.flags & V4L2_BUF_FLAG_ERROR) {
|
||||
if (V4L2_TYPE_IS_OUTPUT (obj->type))
|
||||
g_signal_emit (pool, gst_v4l2_buffer_pool_signals[OUTPUT_ERROR_DEQUEUED],
|
||||
@ -1303,11 +1308,6 @@ gst_v4l2_buffer_pool_dqbuf (GstV4l2BufferPool * pool, GstBuffer ** buffer,
|
||||
0, (guint) group->buffer.timestamp.tv_sec);
|
||||
}
|
||||
|
||||
if (res == GST_V4L2_FLOW_LAST_BUFFER)
|
||||
goto eos;
|
||||
if (res != GST_FLOW_OK)
|
||||
goto dqbuf_failed;
|
||||
|
||||
old_buffer_state =
|
||||
g_atomic_int_and (&pool->buffer_state[group->buffer.index],
|
||||
~BUFFER_STATE_QUEUED);
|
||||
|
Loading…
x
Reference in New Issue
Block a user