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
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel