[xiph-rtp] Updated Vorbis and new Theora I-D's
Aaron Colwell
acolwell at real.com
Thu Feb 3 10:53:52 PST 2005
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.
Don't forget to update the diagrams and text if you decide to accept this
suggestion.
- The text under Fig 6 doesn't match the drawing for the C-bit. The text seems
wrong and the diagram is correct.
- In section 3.2, why would you buffer the final fragment if you've
dropped/lost all the other fragments?
- 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.
- Packaged header delivery. Why don't you just use the header packets as is?
that requires less work for the client and server.
- At the top of Page 22, fmpt should be fmtp.
- 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.
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.
- 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.
- 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.
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