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

Laurent Aimar 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:
> 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.
 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).

-- 
fenrir



More information about the vlc-devel mailing list