AudioManager  7.6.6
Native Application Runtime Environment
Lipsync

The Task of the Audiomanager

It is the job of the AudioManager to retrieve all latency timing information from each connection, to aggregate this information and provide a latency # information on a per MainConnection Basis. It is not the task of the AudioManager to actually delay or speed up video or audio signals to achieve a lipsync. The actual correction shall be done in the with the information provided by the AudioManager. The time information is always reported by the routingadapters for each connection. Delays that are introduced in a sink or a gateway are counting for the connection that connects to this sink or gateway.

Example:

delay.jpg

This graph shows how the delay is calculated:

  • Connection 1 has a delay 2ms + 60ms that is added due to the gateway
  • Connection 2 has a delay 0ms + 10ms due to sink So the routing adapters report 62ms and 10ms, the audiomanager will add this to 72ms and report this value for the main connection from sink to source. The videoplayer getting this information can now delay his video against the audio for 72ms and be in perfect lipsync.
    After the buildup of a connection the first timing information needs to be sent within 5 seconds, the timing information from the routing adapters need to be sent via 4 seconds. If the latency for a connection is variable and changes over lifetime of the connection, the routing adapters shall resend the value and the audiomanager will correct the over all latency.