[xiph-rtp] Updated Vorbis and new Theora I-D's

Phil Kerr phil at plus24.com
Fri Feb 4 08:21:42 PST 2005


Hi Aaron,

{Sorry for the delay in replying, my network card went pfftt last night 
and I had to hunt another one down that works with Linux as well as XP)

Thanks for the feedback, comments inline.

Aaron Colwell wrote:

>Here are my comments on the Vorbis Draft.
>
>- Fragmented Flag value seems backwards to me. It is set for packets that don't
>  contain fragmented packets and not set for the first packet that is. I'm
>  fine with it not being set for a middle continuation packet and 
>  being set for the final fragmented packet. It seems like the following makes
>  more sense to me.
>
>  C F
>  0 0  Unfragmented packet (aka multi-packet..packet)
>  0 1  First fragmented packet
>  1 0  Middle fragment
>  1 1  Last fragment.
>  
>
This format is based on Jack's original draft.  I'm not sure if it was 
done for a particular reason or it was best fit at the time so if there 
are no objections it can be changes as this schema is neater.

>  Don't forget to update the diagrams and text if you decide to accept this
>  suggestion.
>  
>
Yup :)

>- The text under Fig 6 doesn't match the drawing for the C-bit. The text seems
>  wrong and the diagram is correct.
>  
>
Fixed.

>- In section 3.2, why would you buffer the final fragment if you've 
>  dropped/lost all the other fragments?
>  
>
The idea I was aiming for was to buffer packets missing if they are 
slightly delayed and only dropped once they've gone out of scope.

>- In section 4.1.1, why don't you just send the ident header packet itself?
>  This would prevent the need to update the RTP payload spec if the ident
>  header changes for some reason.
>
>- In section 4.1.3, why don't you just send the comment header packet itself?
>  This makes life easier for the server and client.
>  
>
They should be a straight mapping from the Vorbis spec.

>- Packaged header delivery. Why don't you just use the header packets as is?
>  that requires less work for the client and server.
>  
>
They are apart from striping out the RTP fields.

>
>- At the top of Page 22, fmpt should be fmtp.
>  
>
Fixed.

>- In section 5.1 I was confused about the header parameter. It says 
>
>   "If the stream comprises chained Vorbis files the configuration and
>   codebook headers for each file SHOULD be packaged together and passed
>   to the client using the headers attribute if all the files to be
>   played are known in advance."
>
>   Does this mean that the package itself should be put in the header field or
>   an URL? If you look later it seems to indicate an URL, but this text isn't
>   very clear.
>  
>
In the URL, this section will be made clearer.

>Here are some issues that I think still need to be addressed.
>
>- I think the CRC should be computed over the ident header and setup header 
>  since both of these are needed to uniquely identify the chain. Perhaps
>  the CRC is computed over the 2 pieces of data concatenated together.
>
>  
>
This is looking like the best option.

>- If the total set of codebooks is not known at SDP generation time, what are
>  the options? Does this mean that inline codebook distribution must occur?
>  Could a base URL be specified in the SDP so that when you append the 
>  codebook ID to the base URL you'll have a URL for the appropriate package?
>
>- It seems to me that the packages for each chain should be seperate. If they
>  are all together then the client may download data it already has in it's 
>  cache. Perhaps if you use the base URL idea above and provide a list of
>  CRC's, then the client can determine whether it needs to download the 
>  packages or not. There are several other optimizations of this I can think
>  of, but I just wanted to throw out an initial idea first.
>  
>  
>
This is a nice idea!

>- How would changing sample rates be handled? You can't change the timestamp
>  units on the RTP packets, since this is statically configured at SDP time.
>  There should at least be some text that specifies how to convert the original
>  vorbis packet timestamp into the RTP timestamp units when the RTP timestamp
>  sample rate does not match the vorbis sample rate. I think that it should
>  simply be something like
>
>  RTP timestamp = (Vorbis Timestamp) * (RTP Sample Rate) / (Vorbis Sample Rate)
>
>  This is defined as an integer operation and no rounding up occurs. This 
>  should allow the client know exactly what to expect if it has to recompute 
>  the packets sample position after a loss event. It's useful to have this
>  explicitly defined so that A/V sync drift will be less likely and all clients
>  will hopefully behave the same after loss.
>
>  
>
Agreed.

-P


>Aaron
>
>On Tue, Feb 01, 2005 at 04:36:40AM +0000, Phil Kerr wrote:
>  
>
>>Hi all,
>>
>>I've just checked into svn two new documents.
>>
>>draft-ietf-avt-vorbis-rtp-00.txt
>>
>>This is an update of draft-kerr-avt-vorbis-rtp-04, with a name change 
>>due to it being adopted as an AVT WG draft.
>>
>>Together with the changes detailed on the AVT list the other major 
>>changes are the increase of the Vorbis payload size field  to 16 bits 
>>and the inclusion of  RTCP feedback implosion avoidance.  There are a 
>>lot of textual changes in this document, which hopefully make it easier 
>>to read.
>>
>>I've included a MIME section for the packed headers.  I'm not 100% sure 
>>if the media type is right, should it be audio or application?
>>
>>Also included is details on generating the crc32 hash, with it's 
>>polynomial and C code fragment.
>>
>>
>>draft-kerr-avt-theora-rtp-00.txt
>>
>>A new I-D covering the RTP transportation of Theora Video is available.  
>>It draws heavily from the Vorbis draft and shares a lot of the basic ideas.
>>
>>Please have a read through the drafts, comments welcomed as always.
>>
>>http://plus24.com/xiph/draft-ietf-avt-vorbis-rtp-00.txt
>>http://plus24.com/xiph/draft-kerr-avt-theora-rtp-00.txt
>>
>>If everything is ok I'll submit them to the IETF either at the end of 
>>this week or early next week.
>>
>>Best regards
>>
>>Phil
>>
>>_______________________________________________
>>xiph-rtp mailing list
>>xiph-rtp at xiph.org
>>http://lists.xiph.org/mailman/listinfo/xiph-rtp
>>
>>    
>>
>
>  
>



More information about the xiph-rtp mailing list