Commit 0f8529fd authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab

media: coda: do not try to propagate format if capture queue busy

The driver helpfully resets the capture queue format and selection
rectangle whenever output format is changed. This only works while
the capture queue is not busy.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 6dc8c115
...@@ -787,6 +787,7 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv, ...@@ -787,6 +787,7 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv,
{ {
struct coda_ctx *ctx = fh_to_ctx(priv); struct coda_ctx *ctx = fh_to_ctx(priv);
struct v4l2_format f_cap; struct v4l2_format f_cap;
struct vb2_queue *dst_vq;
int ret; int ret;
ret = coda_try_fmt_vid_out(file, priv, f); ret = coda_try_fmt_vid_out(file, priv, f);
...@@ -802,6 +803,19 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv, ...@@ -802,6 +803,19 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv,
ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc; ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc;
ctx->quantization = f->fmt.pix.quantization; ctx->quantization = f->fmt.pix.quantization;
dst_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE);
if (!dst_vq)
return -EINVAL;
/*
* Setting the capture queue format is not possible while the capture
* queue is still busy. This is not an error, but the user will have to
* make sure themselves that the capture format is set correctly before
* starting the output queue again.
*/
if (vb2_is_busy(dst_vq))
return 0;
memset(&f_cap, 0, sizeof(f_cap)); memset(&f_cap, 0, sizeof(f_cap));
f_cap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; f_cap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
coda_g_fmt(file, priv, &f_cap); coda_g_fmt(file, priv, &f_cap);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment