Blame SOURCES/0002-clear_DISCONT_flag.patch

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