[Bug 583890] v4l2: Implement V4L2_MEMORY_USERPTR support

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 6 03:03:50 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=583890
  GStreamer | gst-plugins-good | git

--- Comment #46 from Julien Isorce <julien.isorce at gmail.com> 2014-01-06 11:03:44 UTC ---
(In reply to comment #45)
> but it fails to add metadata to buffer since it is not writable.

I have not tested this case (here the incoming buffer comes from
v4l2videodecoder so it already has a meta) because I have not the material to
do that. Indeed on the cc device, I have not the support for vmalloc for
userptr (maybe due to kernel 3.4 or s5p-mmixer driver), I mean I cannot do
videotestsrc ! v4l2sink userptr.
Whereas on my desktop I can do v4l2src userptr ! videoconvert ! ximagesink 
(kerlnel 3.11, uvcvideo, remove libv4l). I have v4l2loopback for the sink but
it does not support userptr.


Anyway :) Try the 3 last commits:

http://cgit.collabora.com/git/user/julien/gst-plugins-good.git/log/?h=1.2-omxdec_v4l2sink-USERPTR

When entering "gst_v4l2_buffer_pool_process" the incoming buffer must have a
reference counter equal to 1 to be writable. (Calling gst_buffer_make_writable
is not useful here as it would make a copy)

For some reasons here the v4l2videodecoder always gives me a buffer with
refcount equal to 2 (but I already have the meta so no pb) but maybe with
omxdecoder it will be 1. (the first of the 3 commits fixes the fact that I was
adding the meta after increasing the refcount) (another problem will be with
the preroll frame which has one more ref count so I inactivate it in the third
commit for now)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list