Le mercredi 23 novembre 2022 à 17:24 +0800, Hsia-Jun Li a écrit : > From: Randy Li <ayaka@xxxxxxxxxxx> > > For the decoder supports Dynamic Resolution Change, > we don't need to allocate any CAPTURE or graphics buffer > for them at inital CAPTURE setup step. > > We need to make the device run or we can't get those > metadata. Nack: This is not how it works. I know the m2m framework make it difficult, but it is expected that the driver have a special state for OUTPUT streamon (before capture streamon). Please have a look at other drivers. Nicolas > > Signed-off-by: Randy Li <ayaka@xxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-mem2mem.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c > index be7fde1ed3ea..cd56d60fad9d 100644 > --- a/drivers/media/v4l2-core/v4l2-mem2mem.c > +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c > @@ -301,8 +301,9 @@ 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) { > + if (!(m2m_ctx->out_q_ctx.q.streaming || m2m_ctx->out_q_ctx.buffered) > + || !(m2m_ctx->cap_q_ctx.q.streaming > + || m2m_ctx->cap_q_ctx.buffered)) { > dprintk("Streaming needs to be on for both queues\n"); > return; > }