From 6f707fcbca2c60aed565247567bafdd168980161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 3 Mar 2012 13:04:48 +0000 Subject: [PATCH] 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. --- sys/v4l2/gstv4l2bufferpool.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c index 51419ff984..a0b4c842aa 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; }