[NUT-devel] Suggestions [PATCH]
Rich Felker
dalias at aerifal.cx
Wed Mar 1 14:59:31 CET 2006
On Wed, Mar 01, 2006 at 01:50:44PM +0100, Michael Niedermayer wrote:
> > Does this mean info packets can only come after headers?... What if the
> > headers are large and the radio station wants to switch songs, repeat the
> > entire headers and then the info packets?
>
> the current nut has this limit too, iam perfectly fine with removing that,
> but IIRC rich at some point in the past wanted info only after stream headers
> or something like that
I still favor having info streams separate for the reasons I explained
in the other email.
> > > @@ -476,12 +500,15 @@
> > > 1 is_key if set, frame is keyframe
> > > 2 end_of_relevance if set, stream has no relevance on
> > > presentation. (EOR)
> > > + 4 has_checksum if set then the frame header contains a checksum
> >
> > Maybe this should be a NUT-flag?
>
> NUT-flag?
This flag pertains to the NUT structure, not the frame contents, so it
belongs in the other flags if at all.
Personally I don't like this approach and prefer the old way of doing
syncpoint checksums as long as you can make it sufficiently extensible
to your liking.
> > > EOR frames MUST be zero-length and must be set keyframe.
> > > All streams SHOULD end with EOR, where the pts of the EOR indicates the
> > > end presentation time of the final frame.
> > > An EOR set stream is unset by the first content frames.
> > > EOR can only be unset in streams with zero decode_delay .
> > > + has_checksum must be set if the frame is larger then 64kb or its
> >
> > 2*max_distance ?
>
> ok
Why is it 2* ? Why not just max_distance?
> > solution is that it worked even after a seek or damage, it required no
> > additional variable or context.
> > Also, does the syncpoint rule of max_pts_distance still apply? or is it
> > just this checksum rule.
>
> the syncpoint max_pts_distance rule doesnt apply anymore
Yes, and IMO that's problematic.. The rule was very simple and good.
> > > checksum
> > > crc32 checksum
> > > checksum is calculated for the area pointed to by forward_ptr not
> > > including the checksum itself (from first byte after the
> > > forward_ptr until last byte before the checksum).
> >
> > You should probably mention what area the checksum of frame headers
> > cover...
>
> ok
Is a checksum of 1 byte really useful? IMO not. Considering that with
your proposal a frame header for a 1-meg packet could still be just 1
byte (easy with CBR), this seems like it will not work. This is one
reason I prefer the method of combining with syncpoints.
Rich
More information about the NUT-devel
mailing list