v4l2: clear flags before reusing buffer from buffer pool
authorRob Clark <rob@ti.com>
Sun, 4 Apr 2010 11:24:41 +0000 (06:24 -0500)
committerRob Clark <rob@ti.com>
Wed, 29 Dec 2010 17:46:40 +0000 (11:46 -0600)
note: this really only affects v4l2sink since gst_v4l2_buffer_pool_get() is
only called once per buffer in the v4l2src case (in
gst_v4l2src_buffer_pool_activate())

sys/v4l2/gstv4l2bufferpool.c

index cf43909..a981c68 100644 (file)
@@ -463,8 +463,10 @@ gst_v4l2_buffer_pool_get (GstV4l2BufferPool * pool)
 {
   GstV4l2Buffer *buf = g_async_queue_try_pop (pool->avail_buffers);
 
-  if (buf)
+  if (buf) {
     GST_BUFFER_SIZE (buf) = buf->vbuffer.length;
+    GST_BUFFER_FLAG_UNSET (buf, 0xffffffff);
+  }
 
   pool->running = TRUE;