<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<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><p><font size=2 color=navy face=Arial>
Ross<br><br>Thanks for replying with respect to my project. <br><br>I am using an MPEG2TransportStreamFramer and a SimpleRTPSink as you describe. The MPEG2TransportStreamFramer is created using the DeviceSource as you described earlier. <br><br>I then execute the sink-&gt;startplaying then taskScheduler().doEventLoop() at which point the application exits out (crashes) but with no stack trace. <br><br>Any thoughts?<br><br>Thanks<br><br></font></p>
<p><hr size=2 width="100%" align=center tabindex=-1>
<font face=Tahoma size=2>
<b>From</b>: live-devel-bounces@ns.live555.com <live-devel-bounces@ns.live555.com> <br><b>To</b>: LIVE555 Streaming Media - development & use <live-devel@ns.live555.com> <br><b>Sent</b>: Sat Oct 24 19:33:52 2009<br><b>Subject</b>: Re: [Live-devel] Reliable UDP -- does it make sense? <br></font></p>

<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.&nbsp; (Questions posed by people with &quot;@gmail.com&quot; 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 (&quot;regulating the flow&quot; of Transport Stream data) is done by the &quot;MPEG2TransportStreamFramer&quot; class.&nbsp; (This is why you should insert a &quot;MPEG2TransportStreamFramer&quot; object before your &quot;SimpleRTPSink&quot; object (or &quot;BasicUDPSink&quot; if
 you are transmitting over raw UDP.)</div>
<div><br>
</div>
<div>The &quot;MPEG2TransportStreamFramer&quot; class inspects the PCR timestamps in the Transport Stream data, to compute an estimated 'duration' of each Transport Stream packet.&nbsp; It then uses this to set the &quot;fDurationInMicroseconds&quot; parameter, which in turn is used
 by the downstream object (a &quot;SimpleRTPSink&quot; or &quot;BasicUDPSink&quot;) 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 &quot;MPEG2TransportStreamFramer&quot; object.</div>
<x-sigsep>
<pre>-- 
</pre>
</x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
<br>
<hr>
<font face="Arial" color="Green" size="2">Please consider the environment before printing this e-mail.<br>
</font>
</body>
</html>