[vorbis-dev] RFC draft for Vorbis over RTP
Gregory Maxwell
greg at motherfish-II.xiph.org
Wed May 26 09:21:58 PDT 2004
On Wed, 26 May 2004, Maik Merten wrote:
> So the proposed system would be something like this?
>
> * The Client connects to the streaming server (e.g. using TCP)
> * The server sends header-information
> (* TCP-connection gets closed? Perhaps not a good idea - the connection
> can be used for fallback-header-transport avoiding additional handshaking)
> * Client receives audio-data over an unreliable transport mechanism
(and one which is potentially multicast)
almost.. I think the client should obtain the RTP stream first notice that
the stream is requesting a codebook with a MD5 of DEADBEEF, realize that
it does not have that set of headers, then it will go get them via the
reliable mechnism. If it has a cached copy of that header set, no
reliable transmission is needed.
> If a new header isnecessary:
>
> * Server transmits the header using the unreliable transport mechanism
> * Client buffers header-data
> * If the header is not transmitted (properly) the client can detect this
> and request them using a reliable transport mechanism (fallback)
Correct. I would also suggest that the headers be encoded with forward
error correction.. a modest increase in their size will translate into a
substantial increase in resistance to packet loss.
I also suggest that the protocol be setup to work correctly even if the
headers are never transmitted in the stream (clients must always fetch) or
if there is no out of band source (clients must wait until they get a copy
via RTP, hopefully a server like this would send codebooks a little more
often).. Also, it should be possible to form a codebook transmission
packet in the RTP stream that gives a codebook hash, but has no data (this
is a marker for clients to go get the codebook via the OOB method, so they
can go get it before it's needed).. It should also be possible to mark
those codebook transmission packets with a flag "don't use cached copy" so
that clients will accept the transmitted codebook or fetch one even if
they have a cached copy.
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis-dev
mailing list