This is unfortunately the result of trying to avoid constant warnings issues by 
the v4l2 core about the way the v4l2loopback module treats capability settings. 
There seem to be multiple copies of those: first in video device structure of 
the driver (as device_caps) and then twice in the v4l2_capability structure 
which is returned by an IOCTL to query the capabilities. The latter has a copy 
of the device_caps and capabilities which seems to be intended (the way the 
kernel checks) to be at least the device_caps but might contain additional bits 
set.
The other kernel warning which was attempted to avoid was that the kernel does 
not like the device_caps copy in the IOCTL structure to be different than the 
set in the video device structure. 

Further complication is Chromium which does not work (based on
experiments) if the loopback device has V4L2_CAP_VIDEO_OUTPUT set. That
is if the loopback device is not connected to an input stream. To solve
that (maybe other things, too) v4l2loopback has the exclusive_caps
option. If that is set, then the capabilities have V4L2_CAP_VIDEO_OUTPUT
and V4L2_CAP_VIDEO_CAPTURE set only if no input or output are connected.
In the 0.12.3-1 code, the module modifies both sets in the capability
structure which causes the warnings. However it turns out that anything
but Chromium seems to check device_caps. And if V4L2_CAP_VIDEO_CAPTURE
is not set there (to avoid capabilities to become a sub-set) none of the
other apps finds the device.

Looking at newer versions of v4l2loopback, it seems they avoided
warnings by a hack of not only modifying the capability IOCTL sturcture,
but also the video device structure. While I don't think that is what
the v4l2 core tries to achieve, it seems to be at least what works for
all and would match the more recent module code.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1901491

Title:
  Created devices are not available

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/v4l2loopback/+bug/1901491/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to