Le jeudi 08 novembre 2018 à 09:42 +0100, Hans Verkuil a écrit :
> > +static int vdec_queue_setup(struct vb2_queue *q,
> > +             unsigned int *num_buffers, unsigned int *num_planes,
> > +             unsigned int sizes[], struct device *alloc_devs[])
> > +{
> > +     struct amvdec_session *sess = vb2_get_drv_priv(q);
> > +     const struct amvdec_format *fmt_out = sess->fmt_out;
> > +     u32 output_size = amvdec_get_output_size(sess);
> > +     u32 buffers_total;
> > +
> > +     if (*num_planes) {
> 
> If you are not supporting create_bufs, then you can drop this part.
> Without create_bufs you can assume that *num_planes == 0 and
> q->num_buffers == 0.
> 
> You should add a comment here mentioning that create_bufs isn't
> supported by this driver and explain why it isn't supported.
> 
> I understand it is due to gstreamer problems, but the explanation
> in your cover letter didn't say why it is a problem with this driver
> but not other drivers (apparently).

There is problems in GStreamer with this, but it was disabled because
the firmware does not really allow adding buffers at run-time. Worst,
we would often seen kernel crash when this was enabled.

No decoder before this one implements CREATE_BUFS from what I'm aware,
which explain why I never catched the GStreamer issues before.

Nicolas

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to