GNOME Bugzilla – Bug 671126
v4l2src: call munmap() with same length as mmap()
Last modified: 2012-03-03 13:09:45 UTC
Created attachment 208781 [details] [review] v4l2src: patch v1 current v4l2src use same structure for VIDIOC_QUERYBUF, VIDIOC_QBUF aand v4l2_munmap calls. The problem, video buffer size (lenght) may variate for compressed or emulated bufs. VIDIOC_QBUF will change it if we pass the pointer of v4l2_buffer pointer. This is why we should avoid using same variable for mmap and video buffers.
Pushed, thanks! commit 4cd9255f0a8a9e15d81561f00f02d275b5095f70 Author: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net> Date: Thu Mar 1 14:15:29 2012 +0100 v4l2src: fix v4l2_munmap() for compressed formats Make sure we always call munmap() with the same size we called mmap() with before. Current v4l2src uses the same structure for VIDIOC_QUERYBUF, VIDIOC_QBUF and v4l2_munmap calls. The problem is that the video buffer size (length) may vary for compressed or emulated bufs. VIDIOC_QBUF will change it if we pass the pointer of a v4l2_buffer. This is why we should avoid using same variable for mmap and video buffers. https://bugzilla.gnome.org/show_bug.cgi?id=671126