User guide
Viz Engine Administrator’s Guide
Page 122 Copyright © 2014 Vizrt
the audio device(s) listed in the configuration file’s SECTION AUDIO_CONFIG. By default
a one to one channel assignment from the first audio device is done when a new device
is selected.
7.3 Timing Behavior and Delay Settings
In this timing behavior for every activated DirectSound only card can be set. The
default values should work for most devices; however, differences may occur.
Latency adjustment on the DirectSound audio device
All sound devices use a Ring buffer that stores data until it is sent out to the audio
channels, and this ring buffer is organized in blocks of data. All sound hardware defines
a distance in blocks (or bytes) that needs to be maintained. For almost all devices
on the market a distance of 6 blocks is sufficient to have a “clean output” without
artifacts.
Tip: Try to decrease the BlockReadForward value down to 3 to accomplish
less delay for the output. Viz Engine creates a ring buffer of 1 second which
is split in 60 blocks. This gives an output delay of 10 milliseconds when
the BlockReadForward value is 6 (see the configuration file’s SECTION
AUDIO_CONFIG).
Matrox input and output buffer
Note that an unsynchronized audio card will always run faster or than a synchronized
video or audio card. There is a mechanism needed to keep all audio cards synchronized
with each other. The mechanism shown in Figure 21: Matrox input and output buffer , is
used by Viz Engine to fulfill this condition.
After mixing the packages received from the Matrox or Targa board the blocks of audio
data are moved to the Matrox output buffer. This buffer is organized as a ring buffer