From 6f707fcbca2c60aed565247567bafdd168980161 Mon Sep 17 00:00:00 2001 From: Tim-Philipp Müller Date: Sat, 03 Mar 2012 13:04:48 +0000 Subject: v4l2: clear DISCONT flag when recycling buffers into the buffer pool The base class may have set the DISCONT flag on the first buffer pushed out. We need to clear that when recycling buffers back into the buffer pool, otherwise we constantly push out buffers with the discont flag set, which might upset downstream elements, esp. for compressed formats like mpeg-ts. --- (limited to 'sys/v4l2') diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c index 51419ff..a0b4c84 100644 --- a/sys/v4l2/gstv4l2bufferpool.c +++ b/sys/v4l2/gstv4l2bufferpool.c @@ -98,6 +98,7 @@ gst_v4l2_buffer_finalize (GstV4l2Buffer * buffer) GST_LOG_OBJECT (pool->v4l2elem, "reviving buffer %p, %d", buffer, index); gst_buffer_ref (GST_BUFFER (buffer)); GST_BUFFER_SIZE (buffer) = 0; + GST_BUFFER_FLAG_UNSET (buffer, GST_BUFFER_FLAG_DISCONT); pool->buffers[index] = buffer; } -- cgit v0.9.0.2-2-gbebe