• Laurent Pinchart's avatar
    V4L/DVB (9661): uvcvideo: Commit streaming parameters when enabling the video stream · 23867b25
    Laurent Pinchart authored
    Sonix-based cameras seem to require the host to commit video streaming
    parameters before selecting the alternate endpoint. While most applications
    issue a VIDIOC_S_FMT ioctl before starting streaming, this is not required
    by the V4L2 specification.
    
    The problem has been noticed on Ubuntu 8.10 with applications using libv4l.
    The library blocks VIDIOC_S_FMT calls when the requested format is identical
    to the currently selected format. As the driver commits video streaming
    parameters when initialising the device, only the first run of a
    libv4l-enabled application would succeed.
    
    For the sake of completeness, experiment showed that the camera keeps sending
    12 bytes isochronous packets (header only, no data) without toggling the FID
    bit if video streaming parameters haven't been committed before selecting the
    alternate endpoint.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@skynet.be>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    23867b25
uvc_video.c 28.9 KB