[Live-devel] Reliable UDP -- does it make sense?

Ross Finlayson finlayson at live555.com
Sat Oct 24 16:33:52 PDT 2009


>I am sure Ross will comment from the live555 perspective

No, I'm not going to bother commenting on the original question. 
(Questions posed by people with "@gmail.com" email addresses are very 
low priority for me.)


>This is actually the area I was looking to live555 to help with. I 
>have found very little help on how to do this. In my application I 
>get transport stream data in large blocks that I can easily break up 
>into 7 x TS packets for sending on Ethernet but I have not found the 
>method of regulating the flow particularly clear either from the 
>MPEG side or the live555 side.

In the LIVE555 code, this ("regulating the flow" of Transport Stream 
data) is done by the "MPEG2TransportStreamFramer" class.  (This is 
why you should insert a "MPEG2TransportStreamFramer" object before 
your "SimpleRTPSink" object (or "BasicUDPSink" if you are 
transmitting over raw UDP.)

The "MPEG2TransportStreamFramer" class inspects the PCR timestamps in 
the Transport Stream data, to compute an estimated 'duration' of each 
Transport Stream packet.  It then uses this to set the 
"fDurationInMicroseconds" parameter, which in turn is used by the 
downstream object (a "SimpleRTPSink" or "BasicUDPSink") to figure out 
when to transmit the next network packet.

In other words, we already take care of this - provided that you use 
a "MPEG2TransportStreamFramer" object.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20091024/f2dfaf33/attachment.html>


More information about the live-devel mailing list