OPAL  Version 3.10.10
OpalParamGeneral Struct Reference

#include <opal.h>

Data Fields

const char * m_audioRecordDevice
 
const char * m_audioPlayerDevice
 
const char * m_videoInputDevice
 
const char * m_videoOutputDevice
 
const char * m_videoPreviewDevice
 
const char * m_mediaOrder
 
const char * m_mediaMask
 
const char * m_autoRxMedia
 
const char * m_autoTxMedia
 
const char * m_natRouter
 
const char * m_stunServer
 
unsigned m_tcpPortBase
 
unsigned m_tcpPortMax
 
unsigned m_udpPortBase
 
unsigned m_udpPortMax
 
unsigned m_rtpPortBase
 
unsigned m_rtpPortMax
 
unsigned m_rtpTypeOfService
 
unsigned m_rtpMaxPayloadSize
 
unsigned m_minAudioJitter
 
unsigned m_maxAudioJitter
 
OpalSilenceDetectMode m_silenceDetectMode
 
unsigned m_silenceThreshold
 
unsigned m_signalDeadband
 
unsigned m_silenceDeadband
 
unsigned m_silenceAdaptPeriod
 
OpalEchoCancelMode m_echoCancellation
 
unsigned m_audioBuffers
 
OpalMediaDataFunction m_mediaReadData
 
OpalMediaDataFunction m_mediaWriteData
 
OpalMediaDataType m_mediaDataHeader
 
OpalMessageAvailableFunction m_messageAvailable
 
const char * m_mediaOptions
 
unsigned m_audioBufferTime
 
unsigned m_manualAlerting
 
OpalMediaTiming m_mediaTiming
 
OpalMediaTiming m_videoSourceTiming
 

Detailed Description

General parameters for the OpalCmdSetGeneralParameters command. This is only passed to and returned from the OpalSendMessage() function.

Example: OpalMessage command; OpalMessage * response;

memset(&command, 0, sizeof(command)); command.m_type = OpalCmdSetGeneralParameters; command.m_param.m_general.m_stunServer = "stun.voxgratia.org"; command.m_param.m_general.m_mediaMask = "RFC4175*"; response = OpalSendMessage(hOPAL, &command);

For m_mediaOrder and m_mediaMask, each '
' seperated sub-string in the array is checked using a simple wildcard matching algorithm.

The '*' character indicates substrings, for example: "G.711*" would remove "G.711-uLaw-64k" and "G.711-ALaw-64k".

The '@' character indicates a type of media format, so say "\@video" would remove all video codecs.

The '!' character indicates a negative test. That is the entres that do NOT match the string are removed. The string after the '!' may contain '*' and '@' characters.

It should be noted that when the ! operator is used, they are combined differently to the usual application of each entry in turn. Thus, the string "!A\n!B" will result in keeping both A and B formats.

Field Documentation

◆ m_audioBuffers

unsigned OpalParamGeneral::m_audioBuffers

Set the number of hardware sound buffers to use. Note the largest of m_audioBuffers and m_audioBufferTime/frametime will be used.

◆ m_audioBufferTime

unsigned OpalParamGeneral::m_audioBufferTime

Set the hardware sound buffers to use in milliseconds. Note the largest of m_audioBuffers and m_audioBufferTime/frametime will be used.

◆ m_audioPlayerDevice

const char* OpalParamGeneral::m_audioPlayerDevice

Audio playback device name

◆ m_audioRecordDevice

const char* OpalParamGeneral::m_audioRecordDevice

Audio recording device name

◆ m_autoRxMedia

const char* OpalParamGeneral::m_autoRxMedia

List of media types (e.g. audio, video) separated by spaces which may automatically be received automatically. If NULL no change is made, but if "" then all media is prevented from auto-starting.

◆ m_autoTxMedia

const char* OpalParamGeneral::m_autoTxMedia

List of media types (e.g. audio, video) separated by spaces which may automatically be transmitted automatically. If NULL no change is made, but if "" then all media is prevented from auto-starting.

◆ m_echoCancellation

OpalEchoCancelMode OpalParamGeneral::m_echoCancellation

Accoustic Echo Cancellation control. 0=no change, 1=disabled, 2=enabled.

◆ m_manualAlerting

unsigned OpalParamGeneral::m_manualAlerting

Indicate that an "alerting" message is automatically (value=1) or manually (value=2) sent to the remote on receipt of an OpalIndIncomingCall message. If set to manual then it is up to the application to send a OpalCmdAlerting message to indicate to the remote system that we are "ringing". If zero then no change is made.

◆ m_maxAudioJitter

unsigned OpalParamGeneral::m_maxAudioJitter

Maximum jitter time in milliseconds. For audio RTP data being received this sets the maximum time of the adaptive jitter buffer which smooths out irregularities in the transmission of audio data over the Internet.

◆ m_mediaDataHeader

OpalMediaDataType OpalParamGeneral::m_mediaDataHeader

Indicate that the media read/write callback function is passed the full RTP header or just the payload. 0=no change, 1=payload only, 2=with RTP header.

◆ m_mediaMask

const char* OpalParamGeneral::m_mediaMask

List of media format names to set media to be excluded. This list of names (e.g. "G.723.1") is separated by the '
' character.

◆ m_mediaOptions

const char* OpalParamGeneral::m_mediaOptions

List of media format options to be set. This is a '
' separated list of entries of the form "codec:option=value". Codec is either a media type (e.g. "Audio" or "Video") or a specific media format, for example: "G.723.1:Tx Frames Per Packet=2\nH.263:Annex T=0\n" "Video:Max Rx Frame Width=176\nVideo:Max Rx Frame Height=144"

◆ m_mediaOrder

const char* OpalParamGeneral::m_mediaOrder

List of media format names to set the preference order for media. This list of names (e.g. "G.723.1") is separated by the '
' character.

◆ m_mediaReadData

OpalMediaDataFunction OpalParamGeneral::m_mediaReadData

Callback function for reading raw media data. See OpalMediaDataFunction for more information.

◆ m_mediaTiming

OpalMediaTiming OpalParamGeneral::m_mediaTiming

Indicate how the media read/write callback function handles the real time aspects of the media flow. 0=no change, 1=synchronous, 2=asynchronous, 3=simulate synchronous.

◆ m_mediaWriteData

OpalMediaDataFunction OpalParamGeneral::m_mediaWriteData

Callback function for writing raw media data. See OpalMediaDataFunction for more information.

◆ m_messageAvailable

OpalMessageAvailableFunction OpalParamGeneral::m_messageAvailable

If non-null then this function is called before the message is queued for return in the GetMessage(). See the OpalMessageAvailableFunction for more details.

◆ m_minAudioJitter

unsigned OpalParamGeneral::m_minAudioJitter

Minimum jitter time in milliseconds. For audio RTP data being received this sets the minimum time of the adaptive jitter buffer which smooths out irregularities in the transmission of audio data over the Internet.

◆ m_natRouter

const char* OpalParamGeneral::m_natRouter

The host name or IP address of the Network Address Translation router which may be between the endpoint and the Internet.

◆ m_rtpMaxPayloadSize

unsigned OpalParamGeneral::m_rtpMaxPayloadSize

Maximum payload size for RTP packets. This may sometimes need to be set according to the MTU or the underlying network.

◆ m_rtpPortBase

unsigned OpalParamGeneral::m_rtpPortBase

Base of range of ports to use for RTP/UDP communications. This may be required by some firewalls.

◆ m_rtpPortMax

unsigned OpalParamGeneral::m_rtpPortMax

Max of range of ports to use for RTP/UDP communications. This may be required by some firewalls.

◆ m_rtpTypeOfService

unsigned OpalParamGeneral::m_rtpTypeOfService

Value for the Type Of Service byte with UDP/IP packets which may be used by some routers for simple Quality of Service control.

◆ m_signalDeadband

unsigned OpalParamGeneral::m_signalDeadband

Time signal is required before audio is transmitted. This is is RTP timestamp units (8000Hz).

◆ m_silenceAdaptPeriod

unsigned OpalParamGeneral::m_silenceAdaptPeriod

Window for adapting the silence threashold. This applies if m_silenceDetectMode is adaptive (3). This is is RTP timestamp units (8000Hz).

◆ m_silenceDeadband

unsigned OpalParamGeneral::m_silenceDeadband

Time silence is required before audio is transmission is stopped. This is is RTP timestamp units (8000Hz).

◆ m_silenceDetectMode

OpalSilenceDetectMode OpalParamGeneral::m_silenceDetectMode

Silence detection mode. This controls the silence detection algorithm for audio transmission: 0=no change, 1=disabled, 2=fixed, 3=adaptive.

◆ m_silenceThreshold

unsigned OpalParamGeneral::m_silenceThreshold

Silence detection threshold value. This applies if m_silenceDetectMode is fixed (2) and is a PCM-16 value.

◆ m_stunServer

const char* OpalParamGeneral::m_stunServer

The host name or IP address of the STUN server which may be used to determine the NAT router characteristics automatically.

◆ m_tcpPortBase

unsigned OpalParamGeneral::m_tcpPortBase

Base of range of ports to use for TCP communications. This may be required by some firewalls.

◆ m_tcpPortMax

unsigned OpalParamGeneral::m_tcpPortMax

Max of range of ports to use for TCP communications. This may be required by some firewalls.

◆ m_udpPortBase

unsigned OpalParamGeneral::m_udpPortBase

Base of range of ports to use for UDP communications. This may be required by some firewalls.

◆ m_udpPortMax

unsigned OpalParamGeneral::m_udpPortMax

Max of range of ports to use for UDP communications. This may be required by some firewalls.

◆ m_videoInputDevice

const char* OpalParamGeneral::m_videoInputDevice

Video input (e.g. camera) device name

◆ m_videoOutputDevice

const char* OpalParamGeneral::m_videoOutputDevice

Video output (e.g. window) device name

◆ m_videoPreviewDevice

const char* OpalParamGeneral::m_videoPreviewDevice

Video preview (e.g. window) device name

◆ m_videoSourceTiming

OpalMediaTiming OpalParamGeneral::m_videoSourceTiming

Indicate that the video read callback function handles the real time aspects of the media flow. This can override the m_mediaTiming.


The documentation for this struct was generated from the following file: