diff options
| author | Jean-Francois Moine <moinejf@free.fr> | 2009-04-05 18:03:02 +0200 |
|---|---|---|
| committer | Jean-Francois Moine <moinejf@free.fr> | 2009-04-05 18:03:02 +0200 |
| commit | bcaafb56e4c3741c1923db37683a4590dda2cbfb (patch) | |
| tree | 4ade810f7cbd3425665c1ce57769745871565866 /linux/drivers/media/video/gspca | |
| parent | ffa071fb6b99731b41db5e814dbb2b0403c7c98c (diff) | |
| parent | 8dd3ceb79cec4a833fbc9fd654b7e71e9548d331 (diff) | |
| download | mediapointer-dvb-s2-bcaafb56e4c3741c1923db37683a4590dda2cbfb.tar.gz mediapointer-dvb-s2-bcaafb56e4c3741c1923db37683a4590dda2cbfb.tar.bz2 | |
merge: v4l-dvb
Diffstat (limited to 'linux/drivers/media/video/gspca')
| -rw-r--r-- | linux/drivers/media/video/gspca/gspca.c | 5 | ||||
| -rw-r--r-- | linux/drivers/media/video/gspca/gspca.h | 1 | ||||
| -rw-r--r-- | linux/drivers/media/video/gspca/sq905.c | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/linux/drivers/media/video/gspca/gspca.c b/linux/drivers/media/video/gspca/gspca.c index 88de8b865..cfd27161b 100644 --- a/linux/drivers/media/video/gspca/gspca.c +++ b/linux/drivers/media/video/gspca/gspca.c @@ -777,7 +777,6 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, fmtdesc->pixelformat = fmt_tb[index]; if (gspca_is_compressed(fmt_tb[index])) fmtdesc->flags = V4L2_FMT_FLAG_COMPRESSED; - fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; fmtdesc->description[0] = fmtdesc->pixelformat & 0xff; fmtdesc->description[1] = (fmtdesc->pixelformat >> 8) & 0xff; fmtdesc->description[2] = (fmtdesc->pixelformat >> 16) & 0xff; @@ -974,8 +973,6 @@ static int vidioc_querycap(struct file *file, void *priv, struct gspca_dev *gspca_dev = priv; int ret; - memset(cap, 0, sizeof *cap); - /* protect the access to the usb device */ if (mutex_lock_interruptible(&gspca_dev->usb_lock)) return -ERESTARTSYS; @@ -1147,6 +1144,7 @@ static int vidioc_enum_input(struct file *file, void *priv, if (input->index != 0) return -EINVAL; input->type = V4L2_INPUT_TYPE_CAMERA; + input->status = gspca_dev->cam.input_flags; strncpy(input->name, gspca_dev->sd_desc->name, sizeof input->name); return 0; @@ -1353,7 +1351,6 @@ static int vidioc_g_parm(struct file *filp, void *priv, { struct gspca_dev *gspca_dev = priv; - parm->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; parm->parm.capture.readbuffers = gspca_dev->nbufread; if (gspca_dev->sd_desc->get_streamparm) { diff --git a/linux/drivers/media/video/gspca/gspca.h b/linux/drivers/media/video/gspca/gspca.h index e4d4cf6ce..58e8ff021 100644 --- a/linux/drivers/media/video/gspca/gspca.h +++ b/linux/drivers/media/video/gspca/gspca.h @@ -56,6 +56,7 @@ struct cam { * - cannot be > MAX_NURBS * - when 0 and bulk_size != 0 means * 1 URB and submit done by subdriver */ + u32 input_flags; /* value for ENUM_INPUT status flags */ }; struct gspca_dev; diff --git a/linux/drivers/media/video/gspca/sq905.c b/linux/drivers/media/video/gspca/sq905.c index 04e3ae57a..2e1cdf068 100644 --- a/linux/drivers/media/video/gspca/sq905.c +++ b/linux/drivers/media/video/gspca/sq905.c @@ -360,6 +360,12 @@ static int sd_init(struct gspca_dev *gspca_dev) gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode); if (!(ident & SQ905_HIRES_MASK)) gspca_dev->cam.nmodes--; + + if (ident & SQ905_ORIENTATION_MASK) + gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP; + else + gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP | + V4L2_IN_ST_HFLIP; return 0; } |
