mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-20 04:44:26 +08:00
media: zoran: disable output
Zoran is picky about jpeg data it accepts. At least it seems to not support COM and APPn. So until a way to filter data will be done, disable output. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
b564cb6e0b
commit
b8fb0a4740
@ -963,6 +963,8 @@ static int zr36057_init(struct zoran *zr)
|
||||
*zr->video_dev = zoran_template;
|
||||
zr->video_dev->v4l2_dev = &zr->v4l2_dev;
|
||||
zr->video_dev->lock = &zr->lock;
|
||||
zr->video_dev->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE;
|
||||
|
||||
strscpy(zr->video_dev->name, ZR_DEVNAME(zr), sizeof(zr->video_dev->name));
|
||||
/*
|
||||
* It's not a mem2mem device, but you can both capture and output from one and the same
|
||||
|
@ -1082,8 +1082,7 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capability
|
||||
strscpy(cap->card, ZR_DEVNAME(zr), sizeof(cap->card));
|
||||
strscpy(cap->driver, "zoran", sizeof(cap->driver));
|
||||
snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", pci_name(zr->pci_dev));
|
||||
cap->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE |
|
||||
V4L2_CAP_VIDEO_OUTPUT;
|
||||
cap->device_caps = zr->video_dev->device_caps;
|
||||
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
|
||||
return 0;
|
||||
}
|
||||
@ -2221,6 +2220,11 @@ static int zoran_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Output is disabled temporarily
|
||||
* Zoran is picky about jpeg data it accepts. At least it seems to unsupport COM and APPn.
|
||||
* So until a way to filter data will be done, disable output.
|
||||
*/
|
||||
static const struct v4l2_ioctl_ops zoran_ioctl_ops = {
|
||||
.vidioc_querycap = zoran_querycap,
|
||||
.vidioc_s_selection = zoran_s_selection,
|
||||
@ -2228,9 +2232,9 @@ static const struct v4l2_ioctl_ops zoran_ioctl_ops = {
|
||||
.vidioc_enum_input = zoran_enum_input,
|
||||
.vidioc_g_input = zoran_g_input,
|
||||
.vidioc_s_input = zoran_s_input,
|
||||
.vidioc_enum_output = zoran_enum_output,
|
||||
/* .vidioc_enum_output = zoran_enum_output,
|
||||
.vidioc_g_output = zoran_g_output,
|
||||
.vidioc_s_output = zoran_s_output,
|
||||
.vidioc_s_output = zoran_s_output,*/
|
||||
.vidioc_g_fbuf = zoran_g_fbuf,
|
||||
.vidioc_s_fbuf = zoran_s_fbuf,
|
||||
.vidioc_g_std = zoran_g_std,
|
||||
@ -2244,13 +2248,13 @@ static const struct v4l2_ioctl_ops zoran_ioctl_ops = {
|
||||
.vidioc_streamon = zoran_streamon,
|
||||
.vidioc_streamoff = zoran_streamoff,
|
||||
.vidioc_enum_fmt_vid_cap = zoran_enum_fmt_vid_cap,
|
||||
.vidioc_enum_fmt_vid_out = zoran_enum_fmt_vid_out,
|
||||
/* .vidioc_enum_fmt_vid_out = zoran_enum_fmt_vid_out,*/
|
||||
.vidioc_g_fmt_vid_cap = zoran_g_fmt_vid_cap,
|
||||
.vidioc_g_fmt_vid_out = zoran_g_fmt_vid_out,
|
||||
/* .vidioc_g_fmt_vid_out = zoran_g_fmt_vid_out,*/
|
||||
.vidioc_s_fmt_vid_cap = zoran_s_fmt_vid_cap,
|
||||
.vidioc_s_fmt_vid_out = zoran_s_fmt_vid_out,
|
||||
/* .vidioc_s_fmt_vid_out = zoran_s_fmt_vid_out,*/
|
||||
.vidioc_try_fmt_vid_cap = zoran_try_fmt_vid_cap,
|
||||
.vidioc_try_fmt_vid_out = zoran_try_fmt_vid_out,
|
||||
/* .vidioc_try_fmt_vid_out = zoran_try_fmt_vid_out,*/
|
||||
.vidioc_subscribe_event = v4l2_ctrl_subscribe_event,
|
||||
.vidioc_unsubscribe_event = v4l2_event_unsubscribe,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user