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