[Live-devel] setting rtpTime return by the RTSP PLAY
Ross Finlayson
finlayson at live555.com
Wed Feb 27 08:27:42 PST 2013
> The purpose is to get from the client end the presentation time that was sent by the server.
> By now the client presentation time start from gettimeofday and will be synchronized by the first RTSP Sender report.
You meant to say "RTCP Sender Report". But yes, that's correct.
> what I would like to have is the NTP time that is in RCTP (I always ask myself why this time is not in the RTP header !)
I agree. This is a flaw in the design of RTP, IMHO. To save space in the RTP header, the protocol's designers decided that each RTP packet would contain only a 32-bit timestamp. Then, because 32 bits is not enough to convey a full presentation time, they added this convoluted mechanism whereby a separate control protocol (RTCP) would be used to map the 32-bit RTP timestamp into a full (64-bit) presentation time.
But this means that - until the first RTCP "SR" packet is received by the client (i.e., in our code, before "RTPSource::hasBeenSynchronizedUsingRTCP()" returns True) - the client does not (and cannot) know the server's presentation time, and has to 'guess' it. (The RTSP "RTP-Info" information does *not* give you this; it gives you 'normal play time', which is different.) Sorry.
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/20130228/a4d5054b/attachment-0001.html>
More information about the live-devel
mailing list