<!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->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. (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>
<br>
<hr>
<font face="Arial" color="Green" size="2">Please consider the environment before printing this e-mail.<br>
</font>
</body>
</html>