GNOME Bugzilla – Bug 744573
v4l2allocator: v4l2mem_share() is broken
Last modified: 2015-02-15 21:25:59 UTC
Currently it seems that free will unmap the memory even if that memory is a shared. This lead to crash when buffer is copied and this shared memory mechanism is triggered. This seems to happen sometimes in master using: gst-launch-1.0 v4l2src ! image/jpeg ! decodebin ! fakesink
Can also be reproduced at every try with: gst-launch-1.0 v4l2src ! rtpjpegpay ! rtpjpegdepay ! fakesink
Fix in master commit f5ef99fe5ee2d594fb876ba63c1dcd28d4d7d629 Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> Date: Sun Feb 15 15:51:55 2015 -0500 v4l2allocator: Fix freeing of shared memory When memory (that has been shared using gst_memory_share()) are freed, the memory (or the DMABUF FD) should not bee freed. These memories have a parent. This also removes the extra _v4l2mem_free function and avoid calling close twice on the DMABUF FD. https://bugzilla.gnome.org/show_bug.cgi?id=744573 And 1.4 commit 6c43b983fecd1c46f895e8cf7b106f62de059ce2