Skip to content

Commit

Permalink
media/v4l2_m2m: In buffered mode run jobs if either port is streaming
Browse files Browse the repository at this point in the history
In order to get the intended behaviour of the stateful video
decoder API where only the OUTPUT queue needs to be enabled and fed
buffers in order to get the SOURCE_CHANGED event that configures the
CAPTURE queue, we want the device to run should either queue be
streaming.

Signed-off-by: Dave Stevenson <[email protected]>
  • Loading branch information
6by9 committed Feb 2, 2021
1 parent 39bf9fb commit c54a951
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/media/v4l2-core/v4l2-mem2mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -301,9 +301,10 @@ static void __v4l2_m2m_try_queue(struct v4l2_m2m_dev *m2m_dev,

dprintk("Trying to schedule a job for m2m_ctx: %p\n", m2m_ctx);

if (!m2m_ctx->out_q_ctx.q.streaming
|| !m2m_ctx->cap_q_ctx.q.streaming) {
dprintk("Streaming needs to be on for both queues\n");
if ((!m2m_ctx->out_q_ctx.q.streaming ||
!m2m_ctx->cap_q_ctx.q.streaming) &&
!(m2m_ctx->out_q_ctx.buffered && m2m_ctx->out_q_ctx.q.streaming)) {
dprintk("Streaming needs to be on for both queues, or buffered and OUTPUT streaming\n");
return;
}

Expand Down

0 comments on commit c54a951

Please sign in to comment.