VIDIOC_QUERYCAP on v4l subdevice - v4l-subdev*

claus.stovgaard at gmail.com claus.stovgaard at gmail.com
Tue Nov 1 14:02:16 UTC 2022


Hi folks.

I have also posted on the linux-media mailing list.

https://lore.kernel.org/linux-media/93834b3d7d4abfabdc7285af0c5e57d015c97107.camel@gmail.com/

In short, I am working on a system based around the Intel Apollo Lake
with an IPU4. The system is having a configuration with a number of
subdevices. Going from v4l-subdev0 to v4-subdev10.

Running gst-device-monitor-1.0 results in a number of errors like.

GStreamer-CRITICAL **: 13:27:36.763:
gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT
(element)' failed        

The reason is because a VIDIOC_QUERYCAP on the subdevice fails.

Looking at the documentation

https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/vidioc-querycap.html

it states that "All V4L2 devices support the VIDIOC_QUERYCAP ioctl"

On the other hand VIDIOC_QUERYCAP is not part of the subset mentioned
in documentation for V4L2 sub-device.

https://www.kernel.org/doc/html/latest/driver-api/media/v4l2-subdev.html

So is I correct that gstreamer has a bug in gst-device-monitor-1.0, and
it should not try to use the VIDIOC_QUERYCAP ioctl for a sub-device?

It could be that gstreamer should just skip the sub-device.

Notice - gstreamer is 1.20.1 from yocto kirkstone.

Regards
Claus



More information about the gstreamer-devel mailing list