[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