The (64-bit) "presentation time” values are not passed directly from the server 
to the client; instead, they are transferred implicitly, using the (32-bit) RTP 
timestamps in each RTP packet, plus periodic RTCP packets that provide the 
mapping from RTP timestamp to “presentation time”.  This is all very 
complicated, and is (IMHO) a flaw in the RTP/RTCP design; it was done to save 
space in each RTP packet.  However, our code (at both the server end and the 
client end) handles this all automatically, so that you don’t need to worry 
about it.

HOWEVER, for this to work properly (when writing a server that uses the LIVE555 
code), the "presentation time” values that the server generates MUST be aligned 
with ‘wall clock’ time - i.e., the times that you’d get by calling 
“gettimeofday()”.

Therefore, you should go back to using “gettimeofday()” to generate your 
presentation times (in your server code).  (However, if you have more than one 
NAL unit for the same video frame, then each of these NAL units should be given 
the same presentation time.)


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


_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to