[vlc-devel] Buffering when reading live HTTP streams

David Glaude david.glaude at gmail.com
Thu May 31 13:28:24 CEST 2012

2012/5/30 Rémi Denis-Courmont <remi at remlab.net>

> On Tue, 29 May 2012 14:03:27 -0400, Robert Forsman
> <bob.forsman at ericsson.com> wrote:
> > On Tue, 29 May 2012 11:20:24 -0400
> > "Steinar H. Gunderson" <sgunderson at bigfoot.com> wrote:

> > Buffering is usually addressed by the specification for the container
> > format.
> TCP buffering is addressed by the IETF in its protocol specification and
> in the IP stack. Anyone who claims that it should be defined somewhere else
> needs to learn about pragmatism and layer separation.

In ASF format, there is a pre-roll value that say how many seconds (of AV
content) must be buffered before starting to play the content (including
after a seek). This is set by the encoder into the file (or into the stream
for live). A typical value for this is 5 seconds.

This is respected by Windows Media Player. When watching LIVE content, it
mean waiting 5 seconds before it start. For VOD content it depend... if you
use a streaming protocol, going at the streaming speed and without "fast
start" then you are for 5 seconds of waiting. If you play a file that you
HTTP download from an apache ("progressive download") then it is possible
to buffer those 5 seconds faster than 5 seconds, and so start faster (but
no seeking until everything is in the cache).

I have not tested, nor checked in the code how VLC was behaving and if it
was respecting the pre-roll value.

So I would say, some container define how much buffering must be done.

David Glaude
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20120531/158e4834/attachment.html>

More information about the vlc-devel mailing list