Thread (228 messages) 228 messages, 14 authors, 2017-03-26

[PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline

From: Mauro Carvalho Chehab <hidden>
Date: 2017-03-17 17:51:38
Also in: linux-devicetree, linux-media, lkml

Em Fri, 17 Mar 2017 12:16:08 +0000
Russell King - ARM Linux [off-list ref] escreveu:
On Fri, Mar 17, 2017 at 01:02:07PM +0100, Philipp Zabel wrote:
quoted
I think most of the simple, fixed pipeline use cases could be handled by
libv4l2, by allowing to pass a v4l2 subdevice path to v4l2_open. If that
function internally would set up the media links to the
nearest /dev/video interface, propagate format, resolution and frame
intervals if necessary, and return an fd to the video device, there'd be
no additional complexity for the users beyond selecting the v4l2_subdev
instead of the video device.  
... which would then require gstreamer to be modified too. The gstreamer
v4l2 plugin looks for /dev/video* or /dev/v4l2/video* devices and monitors
these for changes, so gstreamer applications know which capture devices
are available:

  const gchar *paths[] = { "/dev", "/dev/v4l2", NULL };
  const gchar *names[] = { "video", NULL };

  /* Add some depedency, so the dynamic features get updated upon changes in
   * /dev/video* */
  gst_plugin_add_dependency (plugin,
      NULL, paths, names, GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX);

I haven't checked yet whether sys/v4l2/gstv4l2deviceprovider.c knows
anything about the v4l2 subdevs.
Not only gstreamer do that, but all simple V4L2 applications, although
on most of them, you can either pass a command line argument or setup
the patch via GUI.

Btw, I've no idea from where gstreamer took /dev/v4l2 :-)
I'm yet to find a distribution using it.

On the other hand, /dev/v4l/by-patch and /dev/v4l/by-id are usual directories
where V4L2 devices can be found, and should provide persistent names. So, IMHO,
gst should prefer those names, when they exist:

$ tree /dev/v4l
/dev/v4l
??? by-id
??? ??? usb-046d_HD_Pro_Webcam_C920_55DA1CCF-video-index0 -> ../../video1
??? ??? usb-Sunplus_mMobile_Inc_USB_Web-CAM-video-index0 -> ../../video0
??? by-path
    ??? platform-3f980000.usb-usb-0:1.2:1.0-video-index0 -> ../../video1
    ??? platform-3f980000.usb-usb-0:1.5:1.0-video-index0 -> ../../video0




Thanks,
Mauro
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help