PREV TOC HOME INDEX NEXT


4.7.2. Signal Delay

Previously, data buffers on Intel Dialogic voice boards (called firmware buffers) had a fixed size of 512 bytes. To reduce voice latency in Internet telephony applications, the firmware buffer size is now programmable from 128 to 512 bytes.

Intel Dialogic voice API functions stream voice data between the Intel Dialogic voice board firmware buffers and the telephony application via driver buffers. The size of these driver buffers can be set to any value between 256 bytes and 16 KB. Overall signal delay can be reduced by adjusting both the firmware and driver buffers.

Note: When adjusting the buffer sizes, keep the following in mind:
    • The driver buffer size must always be at least twice the firmware buffer size.
    • Simply reducing the driver buffer size does not guarantee better performance. In fact, if the value is poorly chosen, the exact opposite may result.
    • The smaller you make the driver buffer size, the more interrupts are generated to handle the buffers, and consequently, there will be an associated degradation of system performance.
    • Therefore, you must choose this value carefully to maximize throughput while minimizing system load.

The speed of the host processor, as well as other concurrent processing, has an impact on how low the buffers can be set.

Setting the Firmware Buffer Size

To edit the Voice.prm file to set the firmware play and record buffer sizes, proceed as follows:

  1. Open the file \Program Files\Dialogic\Data\Voice.prm using Windows Notepad (or another text editor).
  2. Add the appropriate play and record parameters as shown in bold text in the example below:
#beginning of voice.prm 
AREA=VOICE
SIZE=WORD
BASE=DECIMAL
. . .
PARAM 246 : 256  # set firmware play buffer size to 256 bytes
PARAM 247 : 256  # set firmware record buffer size to 256 bytes 
#end of voice.prm 
  1. Save the file.

In order for the modified parameters to take effect, run DCM and specify the Voice.prm file as the value for the ParameterFile parameter, which appears on the Misc property sheet for Springware boards.

Setting the Driver Buffer Size

Two voice API functions are available to control low latency buffer sizing. The dx_getparm( ) function obtains the current firmware or driver buffer size setting, and the dx_setparm( ) function sets only the driver buffer size.

Note: The dx_setparm( ) function cannot be used to set the firmware buffer size parameters (DXBD_TXBUFSIZE and DXBD_RXBUFSIZE). The only way to set the firmware buffer size parameters is in the download parameter file Voice.prm (for details, see Section , Setting the Firmware Buffer Size).

Refer to the Voice Software Reference - Programmer's Guide for more information about these and other voice API functions.


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2002, Intel Corporation
All rights reserved
This page generated September, 2002