[NUT-devel] Chapters

Oded Shimon ods15 at ods15.dyndns.org
Sat Feb 18 12:32:13 CET 2006


On Sat, Feb 18, 2006 at 12:21:38PM +0100, Michael Niedermayer wrote:
> Hi
> 
> On Sat, Feb 18, 2006 at 11:58:53AM +0200, Oded Shimon wrote:
> > On Sat, Feb 18, 2006 at 10:38:37AM +0100, Luca Barbato wrote:
> > > Oded Shimon wrote:
> > > > I can't decide a proper way for this... One possibility is this:
> > > > 
> > > > Info packet 1: ChapterId=1, TrackTime=3min
> > > > Info packet 2: ChapterId=1, TrackTime=4min
> > > > Info packet 3: ChapterId=2, TrackTime=3min
> > > > ...
> > > > 
> > > > But it seems over complicated. I'd like the ability to do this somehow:
> > > 
> > > 
> > > hmm
> > > 
> > > Info packet 1: ChapterId=1, TrackTime=3min, Title="foo",
> > > ShortSynopsys="blah",... other fields and friends..
> > > 
> > > I think this will be the usage of it.
> > 
> > Yes, I had considered this and had already decided that there will be such 
> > an option, 'chapterid' describes which chapter the entire info packet 
> > describes. BUT, I'd like the _layout_ of the chapters to be decided 
> > globally in a single packet, otherwise the player will have to do a whole 
> > "mapping" thing to decide where chapters begin and end. Putting the start 
> > and length in each chapter-specific packet is worse, because it introduces 
> > redundancy. Might be nice for gaps though.
> 
> putting all the chapter start/end info in a single packet makes the whole
> very fragile, if that packet is lost all chapte info is lost so iam
> against it

But I am against the complication of a player "putting together" a bunch of 
seperate info packets to figure out which chapter it is in right now... I 
think the only tolerable way to do it in seperate info packets is:

no chapterid
ChapterStart, TrackTime, and description-info.

Makes it tricky for a player to do '-chapter 5' though... (It has to sort 
the chapterstart.. Maybe force that chapter info packets must come in 
sequential order?)

> > > > Another note: I'd like to disallow info streams in non live streams.. For 
> > > > any purpose, info packets and chapters can be used. (It should at least be 
> > > > a "SHOULD"...)
> > > > 
> > > 
> > > use COULD.
> > 
> > No, SHOULD. "Info streams SHOULD NOT be used in non-live streams."
> > COULD only means ability. They can be used anywhere, but they should only 
> > be used in this situation. BTW, the only keywords defined in NUT spec are 
> > SHOULD and MUST. :)
> 
> iam strongly against that, either we need info streams or non global info
> packets, i dont care which but i wont accept the "neither case"

Well, there are two problems here:
1. A player wants to know all chapter info when loading the file, so the 
user can do 'mplayer -chapter 5', and it can show chapter info while 
playing.
2. A live stream wants to give song info when switching songs.

If we put chapter info spread out in an info stream, there's no way to load 
all chapter info when opening the file except linear searching the entire 
file.
What solution do you suggest to these 2 problems?

- ods15




More information about the NUT-devel mailing list