sipxmedialib  Version 3.3
Classes | Macros
MpResourceTopology.h File Reference
#include <mp/MpTypes.h>
#include <os/OsStatus.h>
#include <utl/UtlString.h>
#include <utl/UtlDList.h>
#include <utl/UtlHashMap.h>
Include dependency graph for MpResourceTopology.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MpResourceTopology
 MpResourceTopology is used to define a set of resources and how they are to be connected in a flowgraph. More...
 
struct  MpResourceTopology::ResourceDef
 A resource type for use with addResources(). More...
 
struct  MpResourceTopology::ConnectionDef
 A connection type for use with addConnections(). More...
 

Macros

#define DEFAULT_FROM_FILE_RESOURCE_NAME   "FromFile1"
 
#define DEFAULT_FROM_INPUT_DEVICE_RESOURCE_NAME   "FromMic1"
 
#define DEFAULT_BRIDGE_RESOURCE_NAME   "Bridge1"
 
#define DEFAULT_VIDEO_MIXER_RESOURCE_NAME   "VideoMixer1"
 
#define DEFAULT_SPEAKER_SELECTOR_RESOURCE_NAME   "SpeakerSelector1"
 
#define DEFAULT_TONE_GEN_RESOURCE_NAME   "ToneGen1"
 
#define DEFAULT_TONE_DETECT_RESOURCE_NAME   "ToneDetect"
 
#define DEFAULT_TO_OUTPUT_DEVICE_RESOURCE_NAME   "ToSpeaker1"
 
#define DEFAULT_SPEEX_PREPROCESS_RESOURCE_NAME   "SpeexPreprocess"
 
#define DEFAULT_NULL_RESOURCE_NAME   "Null1"
 
#define DEFAULT_RTP_INPUT_RESOURCE_NAME   "InRtp-%d"
 
#define DEFAULT_VIDEO_RTP_INPUT_RESOURCE_NAME   "InVideoRtp-%d"
 
#define DEFAULT_DECODE_RESOURCE_NAME   "Decode-%d"
 
#define DEFAULT_RTP_OUTPUT_RESOURCE_NAME   "OutRtp-%d"
 
#define DEFAULT_VIDEO_RTP_OUTPUT_RESOURCE_NAME   "OutVideoRtp-%d"
 
#define DEFAULT_ENCODE_RESOURCE_NAME   "Encode-%d"
 
#define DEFAULT_RECORDER_RESOURCE_NAME   "CallRecorder"
 
#define DEFAULT_TO_OUTPUT_SPLITTER_RESOURCE_NAME   "ToOutputSplitter1"
 
#define DEFAULT_VAD_RESOURCE_NAME   "Vad"
 
#define DEFAULT_VOICE_ACTIVITY_NOTIFIER_RESOURCE_NAME   "VoiceActivityNotifier"
 
#define DEFAULT_DELAY_RESOURCE_NAME   "Delay"
 
#define DEFAULT_NOTCH_FILTER_RESOURCE_NAME   "NotchFilter"
 
#define CONNECTION_NAME_SUFFIX   "-%d"
 
#define STREAM_NAME_SUFFIX   "-%d"
 
#define MIC_NAME_SUFFIX   "-Mic"
 
#define SPEAKER_NAME_SUFFIX   "-Spkr"
 
#define AEC_OUTPUT_BUFFER_RESOURCE_NAME_SUFFIX   "-outBuffer"
 
#define AEC_NAME_SUFFIX   "-AEC"
 
#define DIRECTION_IN_SUFFIX   "-In"
 
#define DIRECTION_OUT_SUFFIX   "-Out"
 
#define VIRTUAL_NAME_LOCAL_STREAM_OUTPUT   "StreamOutput" MIC_NAME_SUFFIX
 
#define VIRTUAL_NAME_LOCAL_STREAM_INPUT   "StreamInput" SPEAKER_NAME_SUFFIX
 
#define VIRTUAL_NAME_RTP_STREAM_OUTPUT   "StreamOutput" CONNECTION_NAME_SUFFIX
 
#define VIRTUAL_NAME_CONNECTION_PORTS   "ConnectionPorts"
 

Macro Definition Documentation

#define DEFAULT_FROM_FILE_RESOURCE_NAME   "FromFile1"
#define DEFAULT_FROM_INPUT_DEVICE_RESOURCE_NAME   "FromMic1"
#define DEFAULT_BRIDGE_RESOURCE_NAME   "Bridge1"
#define DEFAULT_VIDEO_MIXER_RESOURCE_NAME   "VideoMixer1"
#define DEFAULT_SPEAKER_SELECTOR_RESOURCE_NAME   "SpeakerSelector1"
#define DEFAULT_TONE_GEN_RESOURCE_NAME   "ToneGen1"
#define DEFAULT_TONE_DETECT_RESOURCE_NAME   "ToneDetect"
#define DEFAULT_TO_OUTPUT_DEVICE_RESOURCE_NAME   "ToSpeaker1"
#define DEFAULT_SPEEX_PREPROCESS_RESOURCE_NAME   "SpeexPreprocess"
#define DEFAULT_NULL_RESOURCE_NAME   "Null1"
#define DEFAULT_RTP_INPUT_RESOURCE_NAME   "InRtp-%d"
#define DEFAULT_VIDEO_RTP_INPUT_RESOURCE_NAME   "InVideoRtp-%d"
#define DEFAULT_DECODE_RESOURCE_NAME   "Decode-%d"
#define DEFAULT_RTP_OUTPUT_RESOURCE_NAME   "OutRtp-%d"
#define DEFAULT_VIDEO_RTP_OUTPUT_RESOURCE_NAME   "OutVideoRtp-%d"
#define DEFAULT_ENCODE_RESOURCE_NAME   "Encode-%d"
#define DEFAULT_RECORDER_RESOURCE_NAME   "CallRecorder"
#define DEFAULT_TO_OUTPUT_SPLITTER_RESOURCE_NAME   "ToOutputSplitter1"
#define DEFAULT_VAD_RESOURCE_NAME   "Vad"
#define DEFAULT_VOICE_ACTIVITY_NOTIFIER_RESOURCE_NAME   "VoiceActivityNotifier"
#define DEFAULT_DELAY_RESOURCE_NAME   "Delay"
#define DEFAULT_NOTCH_FILTER_RESOURCE_NAME   "NotchFilter"
#define CONNECTION_NAME_SUFFIX   "-%d"
#define STREAM_NAME_SUFFIX   "-%d"
#define MIC_NAME_SUFFIX   "-Mic"
#define SPEAKER_NAME_SUFFIX   "-Spkr"
#define AEC_OUTPUT_BUFFER_RESOURCE_NAME_SUFFIX   "-outBuffer"
#define AEC_NAME_SUFFIX   "-AEC"
#define DIRECTION_IN_SUFFIX   "-In"
#define DIRECTION_OUT_SUFFIX   "-Out"
#define VIRTUAL_NAME_LOCAL_STREAM_OUTPUT   "StreamOutput" MIC_NAME_SUFFIX

VIRTUAL_NAME_LOCAL_STREAM_OUTPUT is mapped to an output of local audio input stream (i.e. stream from Mic).

#define VIRTUAL_NAME_LOCAL_STREAM_INPUT   "StreamInput" SPEAKER_NAME_SUFFIX

VIRTUAL_NAME_LOCAL_STREAM_INPUT is mapped to an input of local audio output stream (i.e. stream to Speaker).

#define VIRTUAL_NAME_RTP_STREAM_OUTPUT   "StreamOutput" CONNECTION_NAME_SUFFIX

VIRTUAL_NAME_RTP_STREAM_OUTPUT is mapped to an outputs of RTP streams. This way we don't need to know about RTP stream implementation details no more. E.g. RTP stream might end with Voice Activity Detector resource or with Delay resource and VIRTUAL_NAME_RTP_STREAM_OUTPUT will always be mapped to the latest one.

#define VIRTUAL_NAME_CONNECTION_PORTS   "ConnectionPorts"

VIRTUAL_NAME_CONNECTION_PORTS is mapped to inputs and outputs to which output and input RTP connections should be linked. Usually this virtual inputs and output are mapped to Bridge inputs and outputs. But in case we want to insert Speaker Selection resource before the Bridge, virtual VIRTUAL_NAME_CONNECTION_PORTS inputs will be mapped to Speaker Selection inputs (because the Bridge inputs will be connected to the Speaker Selection outputs).