Skip to content

Commit

Permalink
[media] gspca_zc3xx: Fix setting of jpeg quality while streaming
Browse files Browse the repository at this point in the history
When the user changes the JPEG quality while the camera is streaming, the
driver should not only change the JPEG headers send to userspace, but also
actually tell the camera to use a different quantization table.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans de Goede authored and Mauro Carvalho Chehab committed May 14, 2012
1 parent 45432d4 commit fba11fe
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/media/video/gspca/zc3xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -5923,6 +5923,8 @@ static void setquality(struct gspca_dev *gspca_dev)
struct sd *sd = (struct sd *) gspca_dev;
s8 reg07;

jpeg_set_qual(sd->jpeg_hdr, jpeg_qual[sd->reg08]);

reg07 = 0;
switch (sd->sensor) {
case SENSOR_OV7620:
Expand Down Expand Up @@ -6886,7 +6888,6 @@ static int sd_start(struct gspca_dev *gspca_dev)
break;
}
setquality(gspca_dev);
jpeg_set_qual(sd->jpeg_hdr, jpeg_qual[sd->reg08]);
setlightfreq(gspca_dev);

switch (sd->sensor) {
Expand Down Expand Up @@ -7042,7 +7043,7 @@ static int sd_setquality(struct gspca_dev *gspca_dev, __s32 val)
sd->reg08 = i;
sd->ctrls[QUALITY].val = jpeg_qual[i];
if (gspca_dev->streaming)
jpeg_set_qual(sd->jpeg_hdr, sd->ctrls[QUALITY].val);
setquality(gspca_dev);
return gspca_dev->usb_err;
}

Expand Down

0 comments on commit fba11fe

Please sign in to comment.