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

Pannaman, Jonathan Jonathan.Pannaman at espn.com
Sat Oct 24 22:00:10 PDT 2009


Ross

Thanks for replying with respect to my project.

I am using an MPEG2TransportStreamFramer and a SimpleRTPSink as you describe. The MPEG2TransportStreamFramer is created using the DeviceSource as you described earlier.

I then execute the sink->startplaying then taskScheduler().doEventLoop() at which point the application exits out (crashes) but with no stack trace.

Any thoughts?

Thanks


________________________________
From: live-devel-bounces at ns.live555.com
To: LIVE555 Streaming Media - development & use
Sent: Sat Oct 24 19:33:52 2009
Subject: Re: [Live-devel] Reliable UDP -- does it make sense?

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/

________________________________
Please consider the environment before printing this e-mail.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20091024/88aa089e/attachment.html>


More information about the live-devel mailing list