[Live-devel] RTP stream retransmit

Ross Finlayson finlayson at live555.com
Fri Feb 1 11:21:53 PST 2013


> I think I figured the cause - many of the incoming RTP frames "get" the same presentation time (via 'receptionStatsDB().noteIncomingPacket(...)'.

No, this is a 'wild goose chase'.  The presentation times that get set for the outgoing Transport Stream packets are determined *entirely* by the "MPEG2TransportStreamFramer" (that feeds into the "SimpleRTPSink").  They have nothing to do with the presentation times of the incoming packets.


> Here is my object chain, maybe you can see something wrong:
> 
>    MPEG1or2VideoRTPSource --> 
>        MPEG2TransportStreamFromESSource --> 
>           FrameQueue(this is mine)  --> 
>               MPEG2TransportStreamFramer -->
>                    SimpleRTPSink

This looks correct.  Note that - as I noted earlier - it's the "MPEG2TransportStreamFramer" that computes the 'presentation times' of the outgoing packets.  It does this by inspecting the PCR timestamps in the Transport Stream packets that are fed to it.

Assuming that the input Transport Stream packets have (occasional) PCR timestamps (as all Transport Streams should have), I suspect that the problem is in the implementation of your 'FrameQueue'.  You can verify this by replacing the "SimpleRTPSink" with a "FileSink" - and then trying to play the output file (with a media player).

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/20130201/e4f87c45/attachment.html>


More information about the live-devel mailing list