diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2015-04-02 13:34:30 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-04-08 11:42:14 +0200 |
commit | 3a29a4f177e99af0d80b5c4396a7aa1e9418742c (patch) | |
tree | 9413a1b0e929e42db0d6eda5e20f387bdc3f4584 /drivers/media/pci/cx18/cx18-ioctl.c | |
parent | [media] cx18: add support for control events (diff) | |
download | linux-3a29a4f177e99af0d80b5c4396a7aa1e9418742c.tar.xz linux-3a29a4f177e99af0d80b5c4396a7aa1e9418742c.zip |
[media] cx18: fix VIDIOC_ENUMINPUT: wrong std value
The std field of v4l2_input is always V4L2_STD_ALL. For tuner inputs
this should be cx->tuner_std.
This fixes a v4l2-compliance failure.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/pci/cx18/cx18-ioctl.c')
-rw-r--r-- | drivers/media/pci/cx18/cx18-ioctl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/cx18-ioctl.c index 6f8324d4be6d..35d75311d0e2 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.c +++ b/drivers/media/pci/cx18/cx18-ioctl.c @@ -514,6 +514,9 @@ int cx18_s_input(struct file *file, void *fh, unsigned int inp) { struct cx18_open_id *id = fh2id(fh); struct cx18 *cx = id->cx; + v4l2_std_id std = V4L2_STD_ALL; + const struct cx18_card_video_input *card_input = + cx->card->video_inputs + inp; if (inp >= cx->nof_inputs) return -EINVAL; @@ -529,6 +532,11 @@ int cx18_s_input(struct file *file, void *fh, unsigned int inp) cx->active_input = inp; /* Set the audio input to whatever is appropriate for the input type. */ cx->audio_input = cx->card->video_inputs[inp].audio_index; + if (card_input->video_type == V4L2_INPUT_TYPE_TUNER) + std = cx->tuner_std; + cx->streams[CX18_ENC_STREAM_TYPE_MPG].video_dev.tvnorms = std; + cx->streams[CX18_ENC_STREAM_TYPE_YUV].video_dev.tvnorms = std; + cx->streams[CX18_ENC_STREAM_TYPE_VBI].video_dev.tvnorms = std; /* prevent others from messing with the streams until we're finished changing inputs. */ |