[MPlayer-dev-eng] MPCF Draft/Discussion (MPlayer ContainerFormat)
Fabien Tassin
fta+mplayer at sofaraway.org
Fri Feb 7 13:12:06 CET 2003
hi,
According to michael c:
>
> I must say, I think I agree with Fabien that the file format should not
> close the door on advanced features. The only thing that should be kept in
> mind is that those features should not make everything over-complicated.
100% agree.
> I propose that there could be another stream type (named "generic" or
> something), in which additional features could then be implemented. Then,
> if some programs don't support these features, these streams could simply
> be ignored; the programs don't even need to know anything about their
> format.
nope. No need to add a stream to have chapters, menu and similar features.
Streams are for video, audio and subtitles.
Macro blocks are for headers/index/chapters/gadgets and should be at
the beginning or at the end, not interleaved.
In ASF, chapters are optionals and described in 0 or 1 'marker' object.
Scripts are also optionals and described in 1 'script command' object.
It is good enough for me.
> There could be, for example, a menu stream (fourcc "MENU" or so), which
> contains a menu in whatever format you might come up with. Or a chapter
> stream (fourcc "CHAP"?) which contains the chapter info. Those streams
> would only have one packet, of course. If cou come up with a better format
> for those, you could simply pick a different fourcc, so everything's open
> for everyhting, without simple programs having to know about these advanced
> things. They just implement what they need/want.
That's why typed objects are nice. unknown object type => skip object
(or forward untouched depending on the situation).
s/object/bloc/ if you prefer, it is the same. It is also refered to as
TLV (Type/Length/Value) in various network protocols.
It should not depend on the version for which a mismatch must abort
the demuxer. If later you wish to change the syntax of your object, pick
a new object-id (type), no need to boost the version.
> Even the index could be well off as one of those generic streams. Just put
> the index into one packet; the header tells you where it is, you can put it
> wherever you want, and you can repeat it as often as you want.
same idea except that a stream with one packet is not really a stream
and do not require to be described as one.
/Fabien
More information about the MPlayer-dev-eng
mailing list