[Vorbis-dev] Semantics of chaining...

illiminable ogg at illiminable.com
Mon Apr 11 03:30:06 PDT 2005


Just been thinking about this lately... but what exactly is a chain meant to 
represent ?

I can see two alternatives... it's merely an "invisible" join... as is used 
by say vcut. In other words 2x 1 minute chains should be treated as 1x 2 
minutes. Or it is a chapter, say putting a whole album in one file, where 
each chain is one song, but they are intended to be played chainwise rather 
than filewise.

So some player somes along and sees a file with 2x 1 minute chains... should 
it display the duration as 2mins and just play over it. Or should it play 
showing the duration as 1minute for 1minute, then when it hits the chain, 
reset its progress bar to zero, and show the duration as 1minute again for 
the next chain. And then depending how the playlist is displayed, how can 
the user skip between the chains ?

How can a player know the difference between these two meanings ?

When you have control of the player, it's not that big a deal since you can 
do whatever you want, or let the user decide. But in my case, my main 
targetted player (WMP) is one i have extremely limited control over.

When such a file is put in a playlist, should it display as one track, a 
file with chapters (if that's possible), or multiple tracks.

What should be considered the default interpretation ?

One thing i thought about to resolve the ambiguity, is use one of the unused 
flags to indicate "chain seperation" on a BOS page. In other words if the 
flag is set on the bos page of any subsequent chain, it is treated as a 
seperate entity rather than a continuation of a previous one.

Any other ideas on how to best handle these cases in a player ?

Zen. 




More information about the Vorbis-dev mailing list