-
Rémi Denis-Courmont authored
The V4L2 plug-in is a bit peculiar with dynamically generated object variables. We need to keep track of which controls/variables we have, so that we can remove the variables callbacks later. The only other way to solve this bug, that I could think of, consisted of extending the VLC variables subsystem (which would be worse in code freeze). This rewrite also fixes a few other bugs: * Support menu with non-zero based minumum choice * Support menu with discontinuous choices range * Redumdant use the extended controls API as fallback (This only makes sense to set more than one control at a time, or to set 64-bits and string controls. VLC does none of that.) * Unused "controls-update" and "allcontrols" variables. * Skipping disabled, read-only and volatile controls. Support for the legacy control enumeration API (pre-2.6.18 kernel) is removed; and the code is now independent of the VLC object type (it could easily be reused for say, a V4L2 video output).
dfe2b31c