[NUT-devel] Issues
Michael Niedermayer
michaelni at gmx.at
Fri Mar 3 19:21:08 CET 2006
Hi
On Fri, Mar 03, 2006 at 07:31:12PM +0200, Oded Shimon wrote:
> The controversies so far...
>
> 1. checksum in frame headers/syncpoints
> I did very much like the elegance with the syncpoints, however I did not
> like the hacks in code to accomplish this (frame header parser in
> find_syncpoint, put_frame using put_syncpoint to a temporary buffer,
> demuxing frame header is dependant of "saw syncpoint" context).
> So I have no strong feelings either way with this. I do have a small
> proposal for overhead reduction in new method (if it's stupid say so and
> I'll drop it) - has_checksum being implicit by the rules it is manditory
> for - so you can save frame codes or a byte for coded flags... Come to
> think of it, the frame header for a frame that needs has_checksum is large
> already anyway...
iam weakly against the implicit checksum without a flag, why:
* if by whatever reason a past timestamp is messed up the implicit rule
would be messed up too
* no way to add extra checksums if theres no flag
>
>
> 2. limiting max_distance, max_frame_size
> I say, keep them VLC, but add a MUST in spec regarding their value... Using
> 'u(16)' is as silly as using it for the 'tmp_mul' vars in the main header
> which also have a MUST restriction...
well, iam certainly in favor of MUST restrictions on these values though i
would prefer choosing a type which makes it impossible to violate the
restriction
maybe saying that a (de)muxer MUST treat a value outside the 1...x range as x
would be a compromise
>
>
> 3. prefix/compression for frames
> Not sure if this is an actual controversy, possibly the flamewar going on
> has nothing to do with this (let's keep mplayer g5926 flames for another
> mailing list :).
>
> I'm quite against the prefix stuff, for a completely other reason - it's a
> silly complexity for something that does not belong in the container. If
> you're gonna do this, you might as well compress the frames with bzip2
> while you're at it. underhead is nice, but not that nice, this will be
> nothing but a legacy feature in the future...
you think all the new stuff the standard comitees will produce wont
have redundant startcodes?
>
>
> 4. Info frames/streams/packets
> The first problem: limiting positions where info frames/packets should be
> Michael you said you're strongly against this, but you also said a muxer
> should place them sanely and the demuxer should not go crazy looking for
> them. IMO there should be rules that you can't just put the frames/packets
> all over the place as you please, and I'd like to find the best ones that
> stay fully featured while still allowing the demuxer to not have to search
> everywhere for them.
ok
>
> Second problem: dump info streams?
> There is some advantage to this - info frames don't really have stream like
> behavior, unless you repeat them often. A NUT-aware streaming server could
> give the info frame relavent to current position just once, and not be
> wasteful and repeat often or at all... Info streams can work if you put an
> EOR closely after the frame, but that is not semantically correct...
iam strongly against EOR tricks ...
> What I hate about dumping info streams though is some complication to my
> demuxer api (each call can give a frame or a packet, instead of always a
> frame), and, if we do dump info streams, I very much want a restriction
> that info packets that are global (chapter_id >=0 ?) can only come after
> main headers, and not wherever...
i have no strong oppinion on mainheader-infopacket relative ordering as long
as it doesnt depend on info packet contents
[...]
--
Michael
More information about the NUT-devel
mailing list