[icecast-dev] Faststart: Second Try

Michael Smith msmith at xiph.org
Mon Jan 20 06:13:10 PST 2003

On Monday 20 January 2003 06:16, Ricardo Galli wrote:
> Hi Mike,
> 	find the patch for faststart that takes in account different logical
> streams. I tried with ices' playlist, it works just fine [*].
> I could be still further optimised, but it will make the code less clear
> (for example, I could check for has_paredata before checking for
> serailno, which saves a couple of calls and also will avoid any change in
> format_mp3.[ch]).

<p>There's already too much format-specific knowledge in the core, this 
get_serialno() thing has no chance of going in. 

The right way to do this is to move it all entirely into get_predata(), and 
have a default implementation of that (for mp3 to use, for example, as well 
as any other formats that get added in the future) that only does the 
'faststart' stuff. The vorbis implementation will obviously need to do more 
than just this one thing. 

It also needs to be defaulted to off, this isn't a feature everyone should get 
without thinking about whether they want to use it.

> [*] We must rethink the hard limit, 25, in the queue size, the queue can
> become larger just with the faststart buffer. A limit in _seconds_ could
> work better.

Right, I know that limit is a problem. Time-based limits are much harder, as 
they require deeper format knowledge than is currently done (unless you use a 
hack like in your faststart stuff - but I don't really like that, either. A 
byte-length buffer rather than time-based makes more sense anyway, since most 
(all?) clients do buffering based on a fixed buffer size, not a length of 


<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Icecast-dev mailing list