• H
    V4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all frames · 6ca3f255
    Hans de Goede 提交于
    While checking all gspca sub drivers pkt_scan functions for a bug I found in
    1 of them (and after checking also in another), I noticed a bug in the
    gspca_jeilinj work queue function, once it has decided to start discard a
    frame because the application is not reading fast enough (and thus returning
    buffers to fill fast enough), it never stops discarding.
    
    This patch fixes this by simply completely removing the "discarding"
    variable, if we need to discard the current frame because there is no buffer
    to store it, the "frame" pointer will be NULL, so that is all we need to
    check.
    
    I've also moved the gspca_get_i_frame() call and the writing of the jpg
    header to the buffer to after the first usb_bulk_msg() call, as we don't
    need it before that, and that will give the app slightly more time to
    queue a buffer for us to fill.
    Signed-off-by: NHans de Goede <hdegoede@redhat.com>
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    6ca3f255
jeilinj.c 10.1 KB