[vorbis] xml stream formats

Thomas Marshall Eubanks tme at 21rst-century.com
Tue Jul 11 12:23:10 PDT 2000



robert at moon.eorbit.net wrote:

> > How often do we expect to have dropouts? As I understand it, all mp3
> > streaming happens over TCP where this isn't a problem, but that things
> > like mbone video netcasts usually use UDP. Maybe Jack could comment here?
>
> I hate nullsoft for taking the easy way out and only supporting TCP. UDP
> is more suited for streaming protocols -- especially since you have the
> choice between unicast and multicast.
>
> Packets get dropped pretty frequently -- any collision on the network
> involving a streaming UDP packet will cause the UDP packet will get
> lost. The protocol should abstract all that out for us and the codec
> needs to be able to handle missing data in the data stream when the
> protocol cannot recover lost data.
>
> --ruaok         Freezerburn! All else is only icing. -- Soul Coughing
>
>

Hello;

   Packet loss in the commodity internet is a strong function of time of day, and can be << 1%
(in the middle of the night) or 10-15% (in the middle of the afternoon, cross country).
(DC to LA right now is 10 %, DC to Cupertino right now is 0%, where now is mid-day Tuesday.)
This packet loss is caused primarily by router queues getting full, and so is NOT Poisson in nature,
but can be modeled (crudely) as an exponentially correlated first order Markov process. (I.e.,
if one packet is lost, then the probability that the NEXT packet will be lost is much higher, 50% or higher
if losses are running at 10% overall.)
This is why packet block permutation (AKA "interleaving") is useful.

Any packet streaming should be done in UDP, or at least UDP should be supported,
as TCP does not scale.

Any work in UDP should aim to have packet sizes less than 576 bytes (or 1500 bytes at most),
to avoid fragmentation. This includes the IP and UDP headers and should also allow for a
RTP header, BTW. 576 in the maximum non-
fragmented packet size, while 1500 is supported by MANY but not ALL networks. (Remember, TCP
arranges things so that fragmentation does not occur, while UDP does not, and you do NOT want
to fragment all of your streaming packets.)

Note that UDP does not respect time order - since this has to be corrected for,
interleaving should not really cause extra overhead.

BTW, are any members of this list going to the IETF-48 ? Should we have a
get-together ?

                                 Regards
                                 Marshall Eubanks

T.M. Eubanks
Multicast Technologies, Inc
10301 Democracy Lane, Suite 410
Fairfax, Virginia 22030
Phone : 703-293-9624
Fax     : 703-293-9609
e-mail : tme at on-the-i.com     tme at multicasttech.com

--- >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-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 mailing list