Index: DOCS/tech/mpcf.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/mpcf.txt,v retrieving revision 1.113 diff -u -r1.113 mpcf.txt --- DOCS/tech/mpcf.txt 25 Feb 2006 18:51:46 -0000 1.113 +++ DOCS/tech/mpcf.txt 28 Feb 2006 04:16:51 -0000 @@ -640,6 +640,9 @@ chapter_len Length of chapter in same timebase of chapter_start. + In info streams, if chapter_len is zero, chapter_len is the pts of + the first EOR or info frame with a different chapter_id in the same + info stream, minus chapter_start. type for example: "UTF8" -> string or "JPEG" -> JPEG image @@ -734,13 +737,30 @@ ----- All info packets with the same chapter_id and stream_id are repeated info -packets and MUST be binary identical. +packets and MUST be binary identical. This does not apply to info streams. All info packets MUST appear after main headers at begginning of file, and SHOULD be repeated after all main headers unless they are very large. Info frames can be used to describe the file or some part of it (chapters) +The pts of an info frame MUST be >=chapter_start and <=chapter_start+len +(Compared using compare_ts) + +Info frames with a different chapter_id (or EOR) MUST NOT appear between +chapter_start and chapter_start+len. For overlapping chapters several info +streams can be used. + +If an info stream contains an info frame for chapter X then it MUST contain +an info frame with pts==chapter_start. Due to this restriction, the only +legal timebase for chapter_start (and chapter_len) is the info stream +timebase. + +Info frames with the same chapter_id and stream_id MUST have the same +chapter_start and chapter_len if it is non zero. The last info frame with +the same chapter_id and stream_id is the most correct one, and SHOULD have +chapter_len filled. + Info SHOULD be stored in global packets instead of info streams/frames if possible, and the amount of data is not large.