Przeglądaj źródła

media: coda: wake up capture queue on encoder stop after output streamoff

If an encoder stop command is issued after the output queue has already
stopped streaming, the qsequence counter has been reset to 0. Always
wake up the capture queue if the output queue is not streaming.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Philipp Zabel 8 lat temu
rodzic
commit
8056402c54
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      drivers/media/platform/coda/coda-common.c

+ 1 - 1
drivers/media/platform/coda/coda-common.c

@@ -933,7 +933,7 @@ static int coda_encoder_cmd(struct file *file, void *fh,
 	ctx->bit_stream_param |= CODA_BIT_STREAM_END_FLAG;
 
 	/* If there is no buffer in flight, wake up */
-	if (ctx->qsequence == ctx->osequence) {
+	if (!ctx->streamon_out || ctx->qsequence == ctx->osequence) {
 		dst_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx,
 					 V4L2_BUF_TYPE_VIDEO_CAPTURE);
 		dst_vq->last_buffer_dequeued = true;