Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c76c2c3 authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab
Browse files

[media] coda: call SEQ_END when the first queue is stopped



This allows to stop and restart the output queue to start a new sequence
while keeping the capture queue running. Before, sequence end would only
be issued if both output and capture queue were stopped and the sequence
start issued when reenabling the output queue would fail.

Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 23b6ee5c
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1339,6 +1339,9 @@ static void coda_stop_streaming(struct vb2_queue *q)
	struct coda_ctx *ctx = vb2_get_drv_priv(q);
	struct coda_dev *dev = ctx->dev;
	struct vb2_buffer *buf;
	bool stop;

	stop = ctx->streamon_out && ctx->streamon_cap;

	if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
		v4l2_dbg(1, coda_debug, &dev->v4l2_dev,
@@ -1363,7 +1366,7 @@ static void coda_stop_streaming(struct vb2_queue *q)
			v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR);
	}

	if (!ctx->streamon_out && !ctx->streamon_cap) {
	if (stop) {
		struct coda_buffer_meta *meta;

		if (ctx->ops->seq_end_work) {