On 10/19/18 13:35, Nicolas Dufresne wrote: > Le vendredi 19 octobre 2018 à 09:28 +0200, Hans Verkuil a écrit : >> On 10/18/2018 06:08 PM, Ezequiel Garcia wrote: >>> Set up a statically-allocated, dummy buffer to >>> be used as flush buffer, which signals >>> a encoding (or decoding) stop. >>> >>> When the flush buffer is queued to the OUTPUT queue, >>> the driver will send an V4L2_EVENT_EOS event, and >>> mark the CAPTURE buffer with V4L2_BUF_FLAG_LAST. >> >> I'm confused. What is the current driver doing wrong? It is already >> setting the LAST flag AFAIK. I don't see why a dummy buffer is >> needed. > > I'm not sure of this patch either. It seems to trigger the legacy > "empty payload" buffer case. Driver should mark the last buffer, and > then following poll should return EPIPE. Maybe it's the later that > isn't respected ? That would make more sense: vicodec doesn't set last_buffer_dequeued to true in the vb2_queue, so you won't get EPIPE. But that should be much easier to add. Regards, Hans