<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
--></style><title>Re: [Live-devel] Reliable UDP -- does it make
sense?</title></head><body>
<blockquote type="cite" cite><font face="Arial" size="-1"
color="#0000FF">I am sure Ross will comment from the live555
perspective</font></blockquote>
<div><br></div>
<div>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.)</div>
<div><br></div>
<div><br></div>
<blockquote type="cite" cite><font face="Arial" size="-1"
color="#0000FF">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.</font></blockquote>
<div><br></div>
<div>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.)</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>In other words, we already take care of this - provided that you
use a "MPEG2TransportStreamFramer" object.</div>
<x-sigsep><pre>--
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>