OPAL  Version 3.14.3
OpalParamGeneral Struct Reference

#include <opal.h>

Collaboration diagram for OpalParamGeneral:

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_natMethod
 
const char * m_natServer
 
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
 
const char * m_pcssMediaOverride
 

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

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.

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.

const char* OpalParamGeneral::m_audioPlayerDevice
  Audio playback device name. Note, if OPAL_PREFIX_PCSS is

used, then this is the operating system device name. If OPAL_PREFIX_GST is used then this is the gstreamer element for the audio sink.

const char* OpalParamGeneral::m_audioRecordDevice
  Audio recording device name. Note, if OPAL_PREFIX_PCSS is

used, then this is the operating system device name. If OPAL_PREFIX_GST is used then this is the gstreamer element for the audio source.

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.

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.

OpalEchoCancelMode OpalParamGeneral::m_echoCancellation
 Accoustic Echo Cancellation control. 0=no change, 1=disabled,

2=enabled.

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.

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.

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.

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.

const char* OpalParamGeneral::m_mediaOptions
       List of media format options to be set. This is a '\n' 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"

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.

OpalMediaDataFunction OpalParamGeneral::m_mediaReadData
   Callback function for reading raw media data. See

OpalMediaDataFunction for more information.

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.

OpalMediaDataFunction OpalParamGeneral::m_mediaWriteData
  Callback function for writing raw media data. See

OpalMediaDataFunction for more information.

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.

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.

const char* OpalParamGeneral::m_natMethod
          A list of Network Address Translation methods to use, in

priority order, separaeted by '
'. For backward compatibility, if this is an empty string and m_natServer is not empty, then only "STUN" is assumed, and if this is a host name or IP address, then a "Fixed" NAT router is used.

const char* OpalParamGeneral::m_natServer
          The host name or IP address of the NAT (e.g. STUN) server which

may be used to determine the NAT router characteristics automatically. If m_natMethod then this must have corresponding '
' separated entries.

const char* OpalParamGeneral::m_pcssMediaOverride
  When the OPAL_PREFIX_PCSS is in use, this provides a mask of

which media streams (e.g audio/video rx/tx) is overridden from the internal devices. For example, redirecting only received video to the application, and audio and camera grabbing is handled as normal. The string is a space separated list of values being the direction, dash and the media type, e.g. "rx-video rx-audio tx-audio". When present, the same behaviour as for OPAL_PREFIX_LOCAL is executed for that media stream and m_mediaReadData/m_mediaWriteData is called. See OpalMediaDataFunction for more information.

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.

unsigned OpalParamGeneral::m_rtpPortBase
         Base of range of ports to use for RTP/UDP communications. This may

be required by some firewalls.

unsigned OpalParamGeneral::m_rtpPortMax
          Max of range of ports to use for RTP/UDP communications. This may

be required by some firewalls.

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.

unsigned OpalParamGeneral::m_signalDeadband
      Time signal is required before audio is transmitted. This is

is RTP timestamp units (8000Hz).

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).

unsigned OpalParamGeneral::m_silenceDeadband
     Time silence is required before audio is transmission is stopped.

This is is RTP timestamp units (8000Hz).

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.

unsigned OpalParamGeneral::m_silenceThreshold
    Silence detection threshold value. This applies if

m_silenceDetectMode is fixed (2) and is a PCM-16 value.

unsigned OpalParamGeneral::m_tcpPortBase
         Base of range of ports to use for TCP communications. This may

be required by some firewalls.

unsigned OpalParamGeneral::m_tcpPortMax
          Max of range of ports to use for TCP communications. This may

be required by some firewalls.

unsigned OpalParamGeneral::m_udpPortBase
         Base of range of ports to use for UDP communications. This may

be required by some firewalls.

unsigned OpalParamGeneral::m_udpPortMax
          Max of range of ports to use for UDP communications. This may

be required by some firewalls.

const char* OpalParamGeneral::m_videoInputDevice
   Video input (e.g. camera) device name. Note, if

OPAL_PREFIX_PCSS is used, then this is the operating system device name for the camera, or other pseudo-device. If OPAL_PREFIX_GST is used then this is the gstreamer element for the video source.

const char* OpalParamGeneral::m_videoOutputDevice
  Video output (e.g. window) device name. Note, if

OPAL_PREFIX_PCSS is used, then this is the operating system dependent name for a window, or other pseudo-device. If OPAL_PREFIX_GST is used then this is the gstreamer element for the video sink.

const char* OpalParamGeneral::m_videoPreviewDevice
 Video preview (e.g. window) device name. Note, if

OPAL_PREFIX_PCSS is used, then this is the operating system dependent name for a window. If OPAL_PREFIX_GST is used then this is ignored.

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: