• William Manley's avatar
    [media] uvcvideo: Work around buggy Logitech C920 firmware · 17e1319f
    William Manley authored
    The uvcvideo webcam driver exposes the v4l2 control "Exposure (Absolute)"
    which allows the user to control the exposure time of the webcam,
    essentially controlling the brightness of the received image.  By default
    the webcam automatically adjusts the exposure time automatically but the
    if you set the control "Exposure, Auto"="Manual Mode" the user can fix
    the exposure time.
    
    Unfortunately it seems that the Logitech C920 has a firmware bug where
    it will forget that it's in manual mode temporarily during initialisation.
    This means that the camera doesn't respect the exposure time that the user
    requested if they request it before starting to stream video.  They end up
    with a video stream which is either too bright or too dark and must reset
    the controls after video starts streaming.
    
    This patch introduces the quirk UVC_QUIRK_RESTORE_CTRLS_ON_INIT which
    causes the cached controls to be re-uploaded to the camera immediately
    after initialising the camera.  This quirk is applied to the C920 to work
    around this camera bug.
    Signed-off-by: default avatarWilliam Manley <will@williammanley.net>
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
    17e1319f
uvc_driver.c 67.7 KB