Fwd: gstramer\v4l2loopback userptr mode

Regine Issan regine.issan at gmail.com
Tue Aug 22 16:02:11 UTC 2023


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/20230822/40879d1f/attachment.htm>


More information about the gstreamer-devel mailing list