The “PresentationTimeSessionNormalizer" and 
“PresentationTimeSubsessionNormalizer” classes are used to ensure that the 
presentation times - sent by the proxy server to the ‘front-end’ clients - are 
aligned with ‘wall clock’ time.  This is important for ensuring that RTCP “SR” 
report packets (also sent by the proxy server to the ‘front-end’ clients) allow 
the clients to properly compute the presentation times.

The proxy server *cannot* simply pass on - untranslated - the presentation 
times that it sees from its ‘back end’ server, because then the RTCP “SR” 
packets - sent by the proxy server - would not allow the clients to properly 
compute the presentation times.  Instead, the proxy server ‘shifts’ the 
incoming presentation times so that they are aligned with ‘wall clock’ time; 
that’s the role of the “PresentationTimeSessionNormalizer" and 
“PresentationTimeSubsessionNormalizer” classes, which much always be used.


Note that - as always - the presentation times that clients receive are not 
considered accurate until the client receives the first RTCP “SR” packet from 
the proxy server; see
        http://live555.com/liveMedia/faq.html#rtcp-synchronization-issue
Note also that the proxy server does not start sending RTCP “SR” packets 
towards its client(s) until after it has received the first RTCP “SR” packet 
from its ‘back end’ server - i.e., not until it knows that the back end 
stream’s presentation times are accurate.


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