[vlc-devel] Adding all streams at start when transcoding

Laurent Aimar fenrir at via.ecp.fr
Tue Aug 4 22:47:14 CEST 2009


On Tue, Aug 04, 2009, ogg.k.ogg.k at googlemail.com wrote:
> >  Yes, it is what the code is supposed to do.
> >  It is controlled by DecoderProcessSout in src/input/decoder.c
> >  The stream output is created only upon reception of the first data
> > from the packetizer. It's the only way (at the moment) to know when the
> > ES format is valid/complete.
> 
> When playing that particular test file, however, I get the subtitles entries
> in the video/subtitles menu, so somehow VLC knows of them before it
> reaches the first packets in those streams. It must do something extra
> on playback that it does not do on transcode.
 VLC knows that the track exist, but it does not know yet if the es_format_t
associated to it is already valid and so cannot create the sout output.
 Upon reception of the first packet, then it does know.
> 
> >  It should not be too difficult to modify this behaviour to create the
> > output as soon as we know we have a complete format. I will try to look at
> > it but cannot say when.
> 
> Thank you.
> However, in the test case in question (Starship Troopers, one of VLC's test
> streams from streams.videolan.org), the first packet happens after tens of
> seconds into the stream, so that might require a lot of buffering ?
 No, I mean if the decoder knows that it does not need the first packet, it could
tell the decoder.c code.

-- 
fenrir



More information about the vlc-devel mailing list