[vlc-devel] [RFC #2] Empty packetizer buffers when decoder ends

Rafaël Carré rafael.carre at gmail.com
Wed Jul 20 03:26:15 CEST 2011

Le Tue, 19 Jul 2011 11:03:36 +0200,
Laurent Aimar <fenrir at elivagar.org> a écrit :

Hi, thanks for the input

> Hi,
> On Mon, Jul 18, 2011 at 10:16:37PM -0400, Rafaël Carré wrote:
> > This time the demuxer uses es_out_Send(...., NULL) on EOF.
> > When es_out.c/EsOutSend() sees a NULL block it creates an empty
> > block with private flag BLOCK_FLAG_EOS which is sent to the decoder
> > thread.
>  I think that calling a special es_out_* function from
> src/input/input.c would be simpler (ie avoid to add a call to every
> demuxer) and would avoid hacking es_out_Send() to pass NULL block.

From MainLoop() for example?

It's the place which runs the demuxer so eof check could move from each
demuxer to here, but i'm not sure how to notify decoder thread without
using es_out_Send()

IMO using es_out_Send(... NULL) looks simple (not too much changes) but
I'll look into these files to see if I can come up with something else

Rafaël Carré

More information about the vlc-devel mailing list