[Live-devel] track synchronization with live555

Ross Finlayson finlayson at live555.com
Thu Mar 15 14:21:33 PDT 2007


>You can't simply say something like :
>fSyncTime = ntpTimestamp; //wall clock time received in SR
>fSyncTimestamp = rtpTimestamp; //timestamp received in the SR

I can, and I do :-)  This is perfectly correct.  The NTP time is the 
presentation time - using the sender's 'wall clock' - that 
corresponds to the corresponding RTP timestamp.  Presentation times 
derived from this are passed directly to the receiver, for its use in 
rendering the media (and synchronizing with other streams - i.e., 
'lip sync').  Note that there is no notion here of "synchronization 
time difference between us and the sender" as you mentioned in your 
last message.  (The receiver *might* choose to keep track of this - 
or, more precisely, the drift over time between the sender and 
receiver clocks - and make appropriate adjustments to its 
buffering/rendering.)  But that is not what RTP gives you.  The 
timestamps/presentation times that RTP (and thus the LIVE555 library) 
gives you are presentation times based on the sender's clock.

>Furtheremore, I really would like to use the rtp-info if it is available.

It *is* available - in "MediaSession.hh".  This is what you would use 
to keep track of NPT, but *not* presentation time.

>Anyway, let me a couple of days and I will send a complete proposal for this.

I don't believe there is anything wrong with the current code.  It 
implements the RTP/RTCP specification.  Therefore it's unlikely that 
I will be making any changes to the existing code in this case.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list