On Sun, Sep 19, 2010 at 5:17 PM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > On Sunday, September 19, 2010 23:02:31 Andy Walls wrote: >> Hans, >> >> On an somewhat related note, but off-topic: what is the proper way to >> implement VIDIOC_QUERYCAP for a driver that implements read() >> on /dev/video0 (MPEG) and mmap() streaming on /dev/video32 (YUV)? >> >> I'm assuming the right way is for VIDIOC_QUERYCAP to return different >> caps based on which device node was queried. > > The spec is not really clear about this. It would be the right thing to do > IMHO, but the spec would need a change. > > The caps that are allowed to change between device nodes would have to be > clearly documented. Basically only the last three in the list, and the phrase > 'The device supports the...' should be replaced with 'The device node supports > the...'. This would be great to straighten out. One of the common problems new users have setting up MythTV is trying to figure out what type of device they should be choosing (e.g. "V4L2 capture device" versus "IVTV MPEG capture device"). The problem is that the application cannot limit the list of /dev/videoX entries for a given type because some devices report both for all device nodes (even though, for example, the cx18 can only do MPEG on /dev/video1 and raw video on /dev/video0). This results in all sorts of confusion when people wonder why they cannot watch TV because they picked "IVTV MPEG capture device", and then picked /dev/video0 as the device node. And of course the real fun comes around when they cannot figure out why they cannot capture video on /dev/video24 and /dev/video32 because those aren't actually video capture devices *at all*. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html