
On Sat, Feb 18, 2006 at 03:14:44PM +0100, Michael Niedermayer wrote:
Hi
On Sat, Feb 18, 2006 at 02:19:00PM +0200, Oded Shimon wrote:
On Sat, Feb 18, 2006 at 01:57:25PM +0200, Oded Shimon wrote:
On Sat, Feb 18, 2006 at 12:28:59PM +0100, Michael Niedermayer wrote:
Hi
On Sat, Feb 18, 2006 at 10:02:48AM +0200, Oded Shimon wrote: [...]
I still have one major issue left with info packets - chapters... We need to decide a sane way to do them and say so in the spec... But that's after we all agree on this patch. Does anyone have objections left...
i am against it, my oppinion is either store the table in the file or make it constant, or propose to drop "extendible" from the goals first
:/
Putting the tables in the main header is very very weird. It doesn't belong
thats my favorite reasoning why something is bad (its weird, philosophical wrong, not unixish, ...)
Well, it is a reason... Things should be logical/sense-making...
btw, you can also put them in an info packet of course if you prefer ...
This seems to be the only solution I just barely like...
there, it makes it more difficult to mux because even for info streams you have to know all your fields before hand (or, i guess you always have the option of using the fields directly in the info packets), it's also tricky when combining 2 nut files or something...
huh what?! a muxer would probably have a fixed table which it writes ... _this_ is the equivalent to your suggestion, not designing a optimal table which isnt needed at all and has negligable gain
the info packets are string name + type + value triplets, the table is a optimization to reduce the size, i vote for droping the table completely way before i agree to allowing changing the table without storing it in the file, the table was never intended to be changable, if you insist on changing it it must be stored in the file
Many containers have ID-to-metadata mappings, and they are fairly static. If we have found a way to do this while still being able to, in the far future, add new fields, then why not... I think the only gripe I have with writing the table in some header, is, besides the complexity, the fact that we don't have a pre-made table with common fields and prepared with "UTF-8" and etc. Id's are more consistent than names (some muxer might goof up and use Titel instead of Title, and then demuxers won't understand it...).
BTW, following your philosophy - the info tables in the main header can triple the size of the main header (or even more), and a single byte of damage in this non essential info would break the entire main header and make the file unplayable...
you do remember that nut files have a minimum of 3 duplicate main headers?
I'm downloading the file with bittorrent, I only have one copy of the main headers, and because of its size it just ended up being on a block boundry.. I'm surprised, you were very high strong about all other packets '1 byte should cause minimal data loss, even in essential repeated headers', which is why we still have stream_id in stream headers.. - ods15