Skip to content

Commit

Permalink
[media] gspca - main: Avoid clobbering all bandwidth when mic in webcam
Browse files Browse the repository at this point in the history
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans de Goede authored and Mauro Carvalho Chehab committed Jan 6, 2012
1 parent 5dae603 commit 2d39059
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions drivers/media/video/gspca/gspca.c
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,23 @@ static int build_isoc_ep_tb(struct gspca_dev *gspca_dev,
ep_tb++;
}

/*
* If the camera:
* has a usb audio class interface (a built in usb mic); and
* is a usb 1 full speed device; and
* uses the max full speed iso bandwidth; and
* and has more than 1 alt setting
* then skip the highest alt setting to spare bandwidth for the mic
*/
if (gspca_dev->audio &&
gspca_dev->dev->speed == USB_SPEED_FULL &&
last_bw >= 1000000 &&
i > 1) {
PDEBUG(D_STREAM, "dev has usb audio, skipping highest alt");
i--;
ep_tb--;
}

/* get the requested bandwidth and start at the highest atlsetting */
bandwidth = which_bandwidth(gspca_dev);
ep_tb--;
Expand Down

0 comments on commit 2d39059

Please sign in to comment.