Re: How do private controls actually work?

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

 



On Mon, Mar 1, 2010 at 4:58 AM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote:
> New private controls should not use V4L2_CID_PRIVATE_BASE at all. That
> mechanism was a really bad idea. Instead a new control should be added to
> the appropriate control class and with a offset >= 0x1000. See for example
> the CX2341X private controls in videodev2.h.

So, you're suggesting that the following patch then is going to be
NAK'd and that I'm going to have to go back and convert saa7115 to
support the extended controls API, extend the em28xx driver to support
the extended controls API, and retest with all the possible
applications given how they might potentially be attempting to
implement the rather poorly documented interface?

http://kernellabs.com/hg/~dheitmueller/em28xx-test/rev/a7d50db75420

And exactly what "class" of extended controls should I use for video
decoders?  It would seem that a video decoder doesn't really fall into
any of the existing categories - "Old-style user controls", "MPEG
compression controls", "Camera controls", or "FM modulator controls".
Are we saying that now I'm also going to be introducing a whole new
class of control too?

> The EXT_G/S_CTRLS ioctls do not accept PRIVATE_BASE because I want to
> force driver developers to stop using PRIVATE_BASE. So only G/S_CTRL will
> support controls in that range for backwards compatibility.

While we're on the topic, do you see any problem with the proposed fix
for the regression you introduced?:

http://kernellabs.com/hg/~dheitmueller/em28xx-test/rev/142ae5aa9e8e

Between trying to figure out what the expected behavior is supposed to
be (given the complete lack of documentation on how private controls
are expected to be implemented in the extended controls API) and
isolating and fixing the regression, it's hard not to be a little
irritated at this situation.  This was supposed to be a very small
change - a single private control to a mature driver.  And now it
seems like I'm going to have to extend the basic infrastructure in the
decoder driver, the bridge driver, add a new class of controls, all so
I can poke one register?

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

[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