[media] mem2mem_testdev: pick default format with try_fmt
This resolves an issue raised by v4l2-compliance: if the given format does not exist, then pick a default format. While there is an exception regarding this for TV capture drivers, this m2m driver should do the right thing. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
4340583159
commit
4e8ec0a46f
|
@ -543,7 +543,11 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
|
|||
struct m2mtest_ctx *ctx = file2ctx(file);
|
||||
|
||||
fmt = find_format(f);
|
||||
if (!fmt || !(fmt->types & MEM2MEM_CAPTURE)) {
|
||||
if (!fmt) {
|
||||
f->fmt.pix.pixelformat = formats[0].fourcc;
|
||||
fmt = find_format(f);
|
||||
}
|
||||
if (!(fmt->types & MEM2MEM_CAPTURE)) {
|
||||
v4l2_err(&ctx->dev->v4l2_dev,
|
||||
"Fourcc format (0x%08x) invalid.\n",
|
||||
f->fmt.pix.pixelformat);
|
||||
|
@ -561,7 +565,11 @@ static int vidioc_try_fmt_vid_out(struct file *file, void *priv,
|
|||
struct m2mtest_ctx *ctx = file2ctx(file);
|
||||
|
||||
fmt = find_format(f);
|
||||
if (!fmt || !(fmt->types & MEM2MEM_OUTPUT)) {
|
||||
if (!fmt) {
|
||||
f->fmt.pix.pixelformat = formats[0].fourcc;
|
||||
fmt = find_format(f);
|
||||
}
|
||||
if (!(fmt->types & MEM2MEM_OUTPUT)) {
|
||||
v4l2_err(&ctx->dev->v4l2_dev,
|
||||
"Fourcc format (0x%08x) invalid.\n",
|
||||
f->fmt.pix.pixelformat);
|
||||
|
|
Loading…
Reference in New Issue