[vlc-devel] [RFC #2] Empty packetizer buffers when decoder ends
fenrir at elivagar.org
Tue Jul 19 11:52:37 CEST 2011
On Tue, Jul 19, 2011 at 11:03:36AM +0200, Laurent Aimar wrote:
> 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.
To be more complete, the es_out_Control() call should also be available
to the demuxer for some corner cases (when the demuxer is able to detect that
a stream has ended before EOS of all the tracks). TS, ASF, MP4, AVI are probably
the only ones where it can be detected (and only in some cases).
More information about the vlc-devel