v4l2-compliance: input and output versus Media UAPI V4L doc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is my first question - any feedback or direction is welcome.

I am trying to 'square' the documentation available for Media UAPI V4L
with the expected behaviour.

In particular I'm trying to match the following line from Media UAPI
Video for Linux §1.1.3:

> Today each V4L2 device node supports just one function.

with the statement in § 3.2 Streaming I/O:

> A driver can support many sets of buffers. Each set is identified by a unique buffer type value. The sets are independent and each set can hold a different type of data. To access different sets at the same time different file descriptors must be used. [footnote]One could use one file descriptor and set the buffer type field accordingly when calling ioctl VIDIOC_QBUF, VIDIOC_DQBUF etc., but it makes the select() function ambiguous. We also like the clean approach of one file descriptor per logical stream...[/footnote]

This latter quote reads as though it should be possible to open() a
node twice (i.e. two file handles) to access the different buffer
types, e.g. V4L2_BUF_TYPE_VIDEO_CAPTURE and then
V4L2_BUF_TYPE_VIDEO_OUTPUT, but this is not compliant - see e.g. the
tests in v4l2-compliance.cpp within v4l-utils:

if (dcaps & input_caps)
fail_on_test(dcaps & output_caps);

1. Is § 3.2 actually meant to say "To access different sets at the
same time different _device nodes_ must be used."? Or could it state
something like "To access different sets available to a node,
different file descriptors must be used". Mind you, I can't think of a
situation where concurrent access to different buffer-types makes
sense (but I am a newbie).
2. Could (or should) § 1.1.3 be more explicit that "function" is a
combination of input vs output, and medium (e.g. video, radio, audio)?

Kind regards,
-Stephen





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux