1. Each open should be configurable for a SET of lines and the
format. For example, the user should be able to use one open instance
to read Closed Caption data and use another open for say, WSS.
Sounds a bit over-engineered to me. Why do you need sets instead of
ranges? Are the lines for different data types interleaved or something
like that?
2. Rather than setting a range of lines in the VIDIOC_S_FMT, we should be
able to request a SET of lines. This can be done without altering the
current API by making the VIDIOC_S_FMT cumulative, i.e. the previously
set range of lines is "remembered".
Sorry, but changing the semantics of VIDIOC_S_FMT does break the API.
If sets _are_ required, the change can still be implemented, but use one
of the format flags for "append". If the flag is set, then append the
curent range to the existing selection, otherwise use the original
semantics. This will prevent breaking the API, and can be easily
implemented. Drivers that do not support discontiguous ranges can (and
should already) return -EINVAL if the extra format flag is set.
-justin