• Rémi Denis-Courmont's avatar
    Rewrite V4L2 controls to keep a list of them (fix #5269) · dfe2b31c
    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
access.c 4.78 KB