gstramer\v4l2loopback userptr mode

Anton Novikov random.plant at gmail.com
Fri Aug 25 17:38:26 UTC 2023


Regine and all, hello!
I have worked on v4l2loopback codebase.
More specifically, still timeout image.
This was my first kernel project.
AFAIR, v4l2loopback always supported only buffer-based I/O and
read()/write().
It is a small project, don't think supporting userptr is hard, but just
nobody ever wanted that.
If you want, I can take a look, please reply or cc me with userptr
documentation.
You can look at what my contributions 10 years ago were by looking at
https://github.com/an146/v4l2loopback
Looking forward to hear from you,
as this project was much of fun to me,
and best regards,
Anek

вт, 22 авг. 2023 г. в 15:30, Regine Issan via gstreamer-devel <
gstreamer-devel at lists.freedesktop.org>:

> Hello  Everyone,
>
> I have an app that captures frames from a  video device using v4l2.
> the app should support all i-o modes.
> I am mostly interested in userptr mode.
>
> when i run the code with physical camera it works (with userptr mode).
> when i run the same code with v4l2loopback camera and gstreamer,
> it fails. calling VIDIOC_REQBUFS with V4L2_MEMEORY_USERPTR returns not
> supported.
>
> in in link:
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1028
> Nicolas Dufresne <https://gitlab.freedesktop.org/ndufresne> pointed me
> out that v4l2loopback does not support userptr.
> I find his anser very helpful and consider my next steps.
>
>
> several questions:
>
> 1.  can i count that gstreamer works with user ptr ?
>
>      the link  below suggests it sohuld work, correct ?
>
> https://developer.ridgerun.com/wiki/index.php/GStreamer1.0_and_V4L2_UserPt
>
>
> <https://developer.ridgerun.com/wiki/index.php/GStreamer1.0_and_V4L2_UserPtr>
>
> 2.
>
>      clearly, i am looking  for simple stable solution.
>
>     as much as I love code, clearly  it is preferable to use existing
> tools
>
>     to get fast and stable simulator.
>
>      if you could please advise ,which of the following options would you
> recommend ?
>
>       option1: use gstreamer\v4l2sink without v4l2loopback
>
>                     my question here: which tool can i use instead
> v4l2loopback ?
>
>                    which tool did v4l2sink develpers used to check the
> usertpr mode ?
>
>         option2:any other gstreamer alternative for v4l2sink\v4l2loopback ?
>         option3: changing v4l2loopback to support userptr
>                       i am not video expert, in fact, quite new.
>                       I wonder whyv4l2loopback did not support userptr mode
>                      dou you think this is a hude task ?
>                       can you see Any specific challenge ? I
>
>                     PS: my userptr works with shared memeory
>                            it should be accessible in user and kernel mode
>                            (as the code worked with physical camera)
>
>         option4: writing a tool that replace v4l2loopback and gstramer
>         My single goal is to mimic A camera driver
>         that reads images from disk and writes it to v4l2 using userptr.
>
>       so maybe I should just write an app,
>       that declares the device and writes to v4l2 directly , just like
> driver do ?
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230825/5c66dc58/attachment.htm>


More information about the gstreamer-devel mailing list