summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c
index 814a3a9943..7d49c80b04 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c
@@ -1919,8 +1919,9 @@ gst_v4l2_buffer_pool_process (GstV4l2BufferPool * pool, GstBuffer ** buf,
/* If we have no more buffer, and can allocate it time to do so */
if (num_queued == 0) {
if (GST_V4L2_ALLOCATOR_CAN_ALLOCATE (pool->vallocator, MMAP)) {
+ GST_DEBUG_OBJECT (pool, "Resurrect for empty queue");
ret = gst_v4l2_buffer_pool_resurrect_buffer (pool);
- if (ret == GST_FLOW_OK)
+ if (ret == GST_FLOW_OK || ret == GST_FLOW_FLUSHING)
goto done;
}
}
@@ -1930,8 +1931,9 @@ gst_v4l2_buffer_pool_process (GstV4l2BufferPool * pool, GstBuffer ** buf,
GstBuffer *copy;
if (GST_V4L2_ALLOCATOR_CAN_ALLOCATE (pool->vallocator, MMAP)) {
+ GST_DEBUG_OBJECT (pool, "Resurrect for threshold");
ret = gst_v4l2_buffer_pool_resurrect_buffer (pool);
- if (ret == GST_FLOW_OK)
+ if (ret == GST_FLOW_OK || ret == GST_FLOW_FLUSHING)
goto done;
}