sipxmediaadapterlib
Version 3.3
|
#include <CpPhoneMediaInterface.h>
Public Member Functions | |
CpPhoneMediaInterface (CpMediaInterfaceFactoryImpl *pFactoryImpl, uint32_t samplesPerFrame=0, uint32_t samplesPerSec=0, const char *publicAddress=NULL, const char *localAddress=NULL, int numCodecs=0, SdpCodec *sdpCodecArray[]=NULL, const char *pLocale="", int expeditedIpTos=QOS_LAYER3_LOW_DELAY_IP_TOS, const char *szStunServer=NULL, int iStunPort=PORT_NONE, int iStunKeepAlivePeriodSecs=28, const char *szTurnServer=NULL, int iTurnPort=PORT_NONE, const char *szTurnUsername=NULL, const char *szTurnPassword=NULL, int iTurnKeepAlivePeriodSecs=28, UtlBoolean bEnableICE=FALSE, OsMsgDispatcher *pDispatcher=NULL) | |
Constructor. More... | |
void | release () |
Public interface for destroying this media interface. More... | |
virtual OsStatus | createConnection (int &connectionId, const char *szLocalAddress, int localPort=0, void *videoWindowHandle=NULL, void *const pSecurityAttributes=NULL, const RtpTransportOptions rtpTransportOptions=RTP_TRANSPORT_UDP) |
Create a media connection in the media processing subsystem. More... | |
virtual OsStatus | setPlcMethod (int connectionId, const UtlString &methodName="") |
Set PLC method to use for codecs which does not have own PLC. More... | |
virtual OsStatus | getCapabilities (int connectionId, UtlString &rtpHostAddress, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort, SdpCodecList &supportedCodecs, SdpSrtpParameters &srtpParams, int bandWidth, int &videoBandwidth, int &videoFramerate) |
virtual OsStatus | getCapabilitiesEx (int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], RTP_TRANSPORT transportTypes[], int &nActualAddresses, SdpCodecList &supportedCodecs, SdpSrtpParameters &srtpParameters, int bandWidth, int &videoBandwidth, int &videoFramerate) |
virtual OsMsgDispatcher * | setNotificationDispatcher (OsMsgDispatcher *pNotificationDispatcher) |
Add, replace, or clear the media notification dispatcher held by the MI. More... | |
virtual OsStatus | setNotificationsEnabled (bool enabled, const UtlString &resourceName) |
Enable or disable media notifications for one/all resource(s). More... | |
virtual OsStatus | setConnectionDestination (int connectionId, const char *rtpHostAddress, int rtpAudioPort, int rtcpAudioPort, int rtpVideoPort, int rtcpVideoPort) |
Set the connection destination (target) for the designated media connection. More... | |
virtual OsStatus | startRtpSend (int connectionId, int numCodecs, SdpCodec *sendCodec[]) |
Start sending RTP using the specified codec list. More... | |
virtual OsStatus | startRtpReceive (int connectionId, int numCodecs, SdpCodec *sendCodec[]) |
Start receiving RTP using the specified codec list. More... | |
virtual OsStatus | stopRtpSend (int connectionId) |
Stop sending RTP and RTCP data for the specified connection. More... | |
virtual OsStatus | stopRtpReceive (int connectionId) |
Stop receiving RTP and RTCP data for the specified connection. More... | |
virtual OsStatus | deleteConnection (int connectionId) |
Delete the specified RTP or RTCP connetion. More... | |
virtual OsStatus | startTone (int toneId, UtlBoolean local, UtlBoolean remote) |
Start playing the specified tone for this call. More... | |
virtual OsStatus | stopTone () |
Stop playing all tones. More... | |
virtual OsStatus | setRtcpTimeOffset (int connectionId, CpMediaInterface::MEDIA_STREAM_TYPE mediaType, int streamIndex, int timeOffset) |
Set an offset to the NTP time provided in the RTCP SR. More... | |
virtual OsStatus | startChannelTone (int connectionId, int toneId, UtlBoolean local, UtlBoolean remote) |
Start playing DTMF tone. More... | |
virtual OsStatus | stopChannelTone (int connectionId) |
Stop playing DTMF tone. More... | |
virtual OsStatus | playAudio (const char *url, UtlBoolean repeat, UtlBoolean local, UtlBoolean remote, UtlBoolean mixWithMic=false, int downScaling=100, UtlBoolean autoStopOnFinish=TRUE) |
Play the specified audio URL to the call. More... | |
virtual OsStatus | playBuffer (char *buf, unsigned long bufSize, uint32_t bufRate, int type, UtlBoolean repeat, UtlBoolean local, UtlBoolean remote, OsProtectedEvent *event=NULL, UtlBoolean mixWithMic=false, int downScaling=100, UtlBoolean autoStopOnFinish=TRUE) |
Play the specified audio buffer to the call. More... | |
virtual OsStatus | pauseAudio () |
Pause all playing URLs or buffers. More... | |
virtual OsStatus | resumeAudio () |
Resume all paused URLs or buffers. More... | |
virtual OsStatus | stopAudio () |
Stop playing any URLs or buffers. More... | |
virtual OsStatus | playChannelAudio (int connectionId, const char *url, UtlBoolean repeat, UtlBoolean local, UtlBoolean remote, UtlBoolean mixWithMic=false, int downScaling=100, UtlBoolean autoStopOnFinish=TRUE) |
virtual OsStatus | stopChannelAudio (int connectionId) |
virtual OsStatus | recordChannelAudio (int connectionId, const char *szFile) |
virtual OsStatus | stopRecordChannelAudio (int connectionId) |
Stop buffer or file recording which has been started. More... | |
virtual OsStatus | recordBufferChannelAudio (int connectionId, char *pBuffer, int bufferSize, int maxRecordTime=-1, int maxSilence=-1) |
Start recording to buffer. More... | |
virtual OsStatus | stopRecordBufferChannelAudio (int connectionId) |
Stop recording to buffer. More... | |
virtual OsStatus | recordCircularBufferChannelAudio (int connectionId, CircularBufferPtr &buffer, CpMediaInterface::CpAudioFileFormat recordingFormat, unsigned long recordingBufferNotificationWatermark) |
virtual OsStatus | stopRecordCircularBufferChannelAudio (int connectionId) |
virtual OsStatus | createPlayer (MpStreamPlayer **ppPlayer, const char *szStream, int flags, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL) |
Create a simple player for this call to play a single stream. More... | |
virtual OsStatus | destroyPlayer (MpStreamPlayer *pPlayer) |
Destroy a simple player in this call. More... | |
virtual OsStatus | createPlaylistPlayer (MpStreamPlaylistPlayer **ppPlayer, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL) |
Create a single-buffered play list player for this call. More... | |
virtual OsStatus | destroyPlaylistPlayer (MpStreamPlaylistPlayer *pPlayer) |
Destroy a single-buffered play list player in this call. More... | |
virtual OsStatus | createQueuePlayer (MpStreamQueuePlayer **ppPlayer, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL) |
Create a double-buffered list player for this call. More... | |
virtual OsStatus | destroyQueuePlayer (MpStreamQueuePlayer *pPlayer) |
Destroy a double-buffered list player in this call. More... | |
virtual OsStatus | giveFocus () |
Give the focus of the local audio device to the associated call. More... | |
virtual OsStatus | defocus () |
Take this call out of focus for the local audio device. More... | |
virtual void | setCodecCPULimit (int iLimit) |
Limits the available codecs to only those within the designated limit. More... | |
virtual OsStatus | setMicGain (float gain) |
virtual OsStatus | recordMic (int ms, int16_t *pAudioBuf, int bufferSize) |
Record the microphone data. More... | |
virtual OsStatus | recordMic (int ms, int silenceLength, const char *fileName) |
Record the microphone data to a file. More... | |
virtual void | setContactType (int connectionId, SIPX_CONTACT_TYPE eType, SIPX_CONTACT_ID contactId) |
Set the contact type for this Phone media interface. More... | |
virtual OsStatus | setAudioCodecBandwidth (int connectionId, int bandWidth) |
Rebuild the codec factory on the fly. More... | |
virtual OsStatus | rebuildCodecFactory (int connectionId, int audioBandwidth, int videoBandwidth, UtlString &videoCodec) |
Rebuild codec factory with one video codec. More... | |
virtual OsStatus | setConnectionBitrate (int connectionId, int bitrate) |
Set connection bitrate on the fly. More... | |
virtual OsStatus | setConnectionFramerate (int connectionId, int framerate) |
Set connection framerate on the fly. More... | |
virtual OsStatus | setSecurityAttributes (const void *security) |
virtual OsStatus | addAudioRtpConnectionDestination (int connectionId, int iPriority, const char *candidateIp, int candidatePort) |
Add an alternate Audio RTP connection destination for this media interface. More... | |
virtual OsStatus | addAudioRtcpConnectionDestination (int connectionId, int iPriority, const char *candidateIp, int candidatePort) |
Add an alternate Audio RTCP connection destination for this media interface. More... | |
virtual OsStatus | addVideoRtpConnectionDestination (int connectionId, int iPriority, const char *candidateIp, int candidatePort) |
Add an alternate Video RTP connection destination for this media interface. More... | |
virtual OsStatus | addVideoRtcpConnectionDestination (int connectionId, int iPriority, const char *candidateIp, int candidatePort) |
Add an alternate Video RTCP connection destination for this media interface. More... | |
virtual void | setConnectionTcpRole (const int connectionId, const RtpTcpRoles role) |
virtual OsStatus | generateVoiceQualityReport (int connectiond, const char *callId, UtlString &report) |
virtual OsStatus | setMixWeightsForOutput (int bridgeOutputPort, int numWeights, float weights[]) |
Set gain for inputs to given output on bridge. More... | |
virtual int | getCodecCPUCost () |
Calculate the current cost for our sending/receiving codecs. More... | |
virtual int | getCodecCPULimit () |
Calculate the worst cost for our sending/receiving codecs. More... | |
virtual uint32_t | getSamplesPerSec () |
Returns the sample rate of the flowgraph. More... | |
virtual uint32_t | getSamplesPerFrame () |
Returns the samples per frame of the flowgraph. More... | |
virtual OsMsgQ * | getMsgQ () |
Returns the flowgraph's message queue. More... | |
virtual OsMsgDispatcher * | getNotificationDispatcher () |
Returns the Media Notification dispatcher this controls. More... | |
virtual OsStatus | getVideoQuality (int &quality) |
virtual OsStatus | getVideoBitRate (int &bitRate) |
virtual OsStatus | getVideoFrameRate (int &frameRate) |
virtual OsStatus | setVideoWindowDisplay (const void *hWnd) |
Returns primary codec for the connection. More... | |
virtual const void * | getVideoWindowDisplay () |
virtual OsStatus | setMediaProperty (const UtlString &propertyName, const UtlString &propertyValue) |
Set a media property on the media interface. More... | |
virtual OsStatus | getMediaProperty (const UtlString &propertyName, UtlString &propertyValue) |
Get a media property on the media interface. More... | |
virtual OsStatus | setMediaProperty (int connectionId, const UtlString &propertyName, const UtlString &propertyValue) |
Set a media property associated with a connection. More... | |
virtual OsStatus | getMediaProperty (int connectionId, const UtlString &propertyName, UtlString &propertyValue) |
Get a media property associated with a connection. More... | |
virtual OsStatus | setVideoQuality (int quality) |
virtual OsStatus | setVideoParameters (int bitRate, int frameRate) |
virtual OsStatus | getPrimaryCodec (int connectionId, UtlString &audioCodec, UtlString &videoCodec, int *audiopPayloadType, int *videoPayloadType, bool &isEncrypted) |
Returns the primary codec for the connection. More... | |
virtual UtlString | getType () |
Set IP address to advertise in SDP. More... | |
virtual UtlBoolean | isSendingRtpAudio (int connectionId) |
virtual UtlBoolean | isReceivingRtpAudio (int connectionId) |
virtual UtlBoolean | isSendingRtpVideo (int connectionId) |
virtual UtlBoolean | isReceivingRtpVideo (int connectionId) |
virtual UtlBoolean | isDestinationSet (int connectionId) |
virtual UtlBoolean | canAddParty () |
Query whether a new party can be added to this media interfaces. More... | |
virtual UtlBoolean | isVideoInitialized (int connectionId) |
Query whether the connection has started sending or receiving video. More... | |
virtual UtlBoolean | isAudioInitialized (int connectionId) |
Query whether the connection has started sending or receiving audio. More... | |
virtual UtlBoolean | isAudioAvailable () |
Query if the audio device is available. More... | |
virtual UtlBoolean | isVideoConferencing () |
Query if we are mixing a video conference. More... | |
Public Member Functions inherited from CpMediaInterface | |
CpMediaInterface (CpMediaInterfaceFactoryImpl *pFactoryImpl) | |
Default constructor. More... | |
virtual int | getNumBridgePorts () |
Return the number of ports on the bridge (by default, not implemented in base class) More... | |
virtual OsStatus | setSrtpParams (SdpSrtpParameters &srtpParameters) |
Set the secure RTP parameters. More... | |
virtual OsStatus | setMediaPassThrough (int connectionId, MEDIA_STREAM_TYPE mediaType, int mediaTypeStreamIndex, UtlString &receiveAddress, int rtpPort, int rtcpPort)=0 |
Set pass through port and address to send RTP stream to. More... | |
virtual OsStatus | setConnectionDestination (int connectionId, CpMediaInterface::MEDIA_STREAM_TYPE mediaType, int streamIndex, const char *rtpHostAddress, int rtpPort, int rtcpPort)=0 |
Set the connection destination (target) for the designated stream on the given media connection. More... | |
virtual OsStatus | copyPayloadIds (int connectionId, int numCodecs, SdpCodec *remoteCodecs[])=0 |
copies payload IDs for matching codecs to interfaces codec list More... | |
virtual const SdpCodecList * | getConnectionCodecList (int connectionId)=0 |
Get the list of codecs and payload IDs for the connection. More... | |
virtual OsStatus | recordChannelAudio (int connectionId, const char *szFile, CpAudioFileFormat cpFileFormat=CP_WAVE_PCM_16, UtlBoolean appendToFile=FALSE, int numChannels=1, int maxTime=0, int silenceLength=-1, UtlBoolean setupMultiChannelMixesAutomatically=TRUE)=0 |
Start recording to file. More... | |
virtual OsStatus | pauseRecordChannelAudio (int connectionId)=0 |
Pause buffer or file recording which has been started. More... | |
virtual OsStatus | resumeRecordChannelAudio (int connectionId)=0 |
Resume buffer or file recording which has been paused. More... | |
virtual OsStatus | setMixWeightForOutput (int bridgeOutputPort, float weight)=0 |
Set the mix weight for all inputs, but its own to the given weight and output on bridge. More... | |
virtual OsStatus | limitCodecs (int connectionId, const SdpCodecList &includeOnlyCodecList)=0 |
Further restrict the set of codecs to the list provided. More... | |
virtual OsStatus | getAudioEnergyLevels (int &iInputEnergyLevel, int &iOutputEnergyLevel) |
virtual OsStatus | getAudioEnergyLevels (int connectionId, int &iInputEnergyLevel, int &iOutputEnergyLevel, int &nContributors, unsigned int *pContributorSRCIds, int *pContributorEngeryLevels) |
virtual OsStatus | getAudioRtpSourceIDs (int connectionId, unsigned int &uiSendingSSRC, unsigned int &uiReceivingSSRC) |
virtual OsStatus | enableAudioTransport (int connectionId, UtlBoolean bEnable) |
virtual OsStatus | enableVideoTransport (int connectionId, UtlBoolean bEnable) |
virtual void | setConfiguredIpAddress (const UtlString &ipAddress) |
virtual UtlBoolean | isConnectionIdValid (int connectionId) |
Query if connectionId is valid. More... | |
Protected Member Functions | |
virtual | ~CpPhoneMediaInterface () |
Destructor. More... | |
UtlBoolean | getLocalAddresses (int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort) |
UtlBoolean | getNatedAddresses (int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort) |
UtlBoolean | getRelayAddresses (int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort) |
OsStatus | addLocalContacts (int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses) |
OsStatus | addNatedContacts (int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses) |
OsStatus | addRelayContacts (int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses) |
void | applyAlternateDestinations (int connectionId) |
OsStatus | createRtpSocketPair (UtlString localAddress, int localPort, SIPX_CONTACT_TYPE contactType, OsDatagramSocket *&rtpSocket, OsDatagramSocket *&rtcpSocket) |
Create socket pair for RTP/RTCP streams. More... | |
Protected Member Functions inherited from CpMediaInterface | |
virtual | ~CpMediaInterface () |
Protected Destructor so that we can manage media interface pointers. More... | |
Private Member Functions | |
CpPhoneMediaConnection * | getMediaConnection (int connectionId) |
CpPhoneMediaConnection * | removeMediaConnection (int connectionId) |
OsStatus | doDeleteConnection (CpPhoneMediaConnection *mediaConnection) |
CpPhoneMediaInterface (const CpPhoneMediaInterface &rCpPhoneMediaInterface) | |
Disabled copy constructor. More... | |
CpPhoneMediaInterface & | operator= (const CpPhoneMediaInterface &rhs) |
Disabled equals operator. More... | |
Private Attributes | |
UtlString | mRtpReceiveHostAddress |
Advertised as place to send RTP/RTCP. More... | |
UtlString | mLocalAddress |
Address on which ports are bound. More... | |
MpCallFlowGraph * | mpFlowGraph |
Flowgraph for audio part of call. More... | |
UtlBoolean | mRingToneFromFile |
SdpCodecList | mSupportedCodecs |
UtlDList | mMediaConnections |
int | mDefaultMaxMcastRtpStreams |
int | mExpeditedIpTos |
UtlString | mStunServer |
int | mStunPort |
int | mStunRefreshPeriodSecs |
UtlString | mTurnServer |
int | mTurnPort |
int | mTurnRefreshPeriodSecs |
UtlString | mTurnUsername |
UtlString | mTurnPassword |
UtlBoolean | mEnableIce |
UtlHashMap | mInterfaceProperties |
MaNotfTranslatorDispatcher | mTranslatorDispatcher |
Additional Inherited Members | |
Public Types inherited from CpMediaInterface | |
enum | MEDIA_STREAM_TYPE { MEDIA_TYPE_UNKNOWN = 0, AUDIO_STREAM, VIDEO_STREAM } |
enum | CpAudioFileFormat { CP_UNKNOWN_FORMAT = 0, CP_WAVE_PCM_16, CP_WAVE_ALAW, CP_WAVE_MULAW, CP_WAVE_GSM, CP_OGG_OPUS } |
Static Public Member Functions inherited from CpMediaInterface | |
static int | getInvalidConnectionId () |
Provide an invalid connectionId. More... | |
Protected Attributes inherited from CpMediaInterface | |
CpMediaInterfaceFactoryImpl * | mpFactoryImpl |
SdpSrtpParameters | mSrtpParams |
UtlString | mConfiguredIpAddress |
Address to use instead of local address in SDP. More... | |
An older media interface
CpPhoneMediaInterface | ( | CpMediaInterfaceFactoryImpl * | pFactoryImpl, |
uint32_t | samplesPerFrame = 0 , |
||
uint32_t | samplesPerSec = 0 , |
||
const char * | publicAddress = NULL , |
||
const char * | localAddress = NULL , |
||
int | numCodecs = 0 , |
||
SdpCodec * | sdpCodecArray[] = NULL , |
||
const char * | pLocale = "" , |
||
int | expeditedIpTos = QOS_LAYER3_LOW_DELAY_IP_TOS , |
||
const char * | szStunServer = NULL , |
||
int | iStunPort = PORT_NONE , |
||
int | iStunKeepAlivePeriodSecs = 28 , |
||
const char * | szTurnServer = NULL , |
||
int | iTurnPort = PORT_NONE , |
||
const char * | szTurnUsername = NULL , |
||
const char * | szTurnPassword = NULL , |
||
int | iTurnKeepAlivePeriodSecs = 28 , |
||
UtlBoolean | bEnableICE = FALSE , |
||
OsMsgDispatcher * | pDispatcher = NULL |
||
) |
Constructor.
|
protectedvirtual |
Destructor.
|
private |
Disabled copy constructor.
|
virtual |
Public interface for destroying this media interface.
public interface for destroying this media interface
Implements CpMediaInterface.
|
virtual |
Create a media connection in the media processing subsystem.
One instance of the CpMediaInterface exists for each call, however, each leg of the call requires an individual connection.
[out] | connectionId | - A newly allocated connection id returned via this call. The connection passed to many other media processing methods in this interface. |
[in] | szLocalAddress | - Local address (interface) that should be used for this connection. |
[in] | localPort | - Local port that should be used for this connection. Note, that in fact two ports will be allocated - (localPort) for RTP and (localPort+1) for RTCP. If 0 is passed, port number will be selected automatically. |
[in] | videoWindowHandle | - Video Window handle if using video. Supply a window handle of NULL to disable video for this call/connection. |
pSecurityAttributes | - Pointer to a SIPXVE_SECURITY_ATTRIBUTES object. | |
pSocketIdleSink | - <<UNKNOWN -- What does this do? -- kkyzivat 20070801 >> | |
pMediaEventListener | - <<UNKNOWN -- What does this do? -- kkyzivat 20070801 >> | |
[in] | rtpTransportOptions | RTP_TRANSPORT_UDP, RTP_TRANSPORT_TCP, or BOTH |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Set PLC method to use for codecs which does not have own PLC.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
[in] | methodName | - Name of PLC method. If method name is unknown, default method will be used. This also means you could pass "" to select default method. |
OS_SUCCESS | - message to connection was sent, PLC method will be changed on next message processing interval. |
OS_NOT_FOUND | - connection with given connectionId was not found. |
OS_NOT_SUPPORTED | - this implementation of CpMediaInterface does not support PLC algorithm changing. |
OS_NOT_YET_IMPLEMENTED | - this implementation of CpMediaInterface might support PLC algorithm changing, but this feature is not yet implemented. |
Implements CpMediaInterface.
|
virtual |
Get the port, address, and codec capabilities for the specified media connection. The CpMediaInterface implementation is responsible for managing port allocations.
connectionId | Connection Id for the call leg obtained from createConnection |
rtpHostAddress | IP address or hostname that should be advertised in SDP data. |
rtpPort | RTP port number that should be advertised in SDP. |
rtcpPort | RTCP port number that should be advertised in SDP. |
supportedCodecs | List of supported codecs. |
srtParams | supported SRTP parameters |
bandWidth | bandwidth limitation id |
Implements CpMediaInterface.
|
virtual |
DOCME
Implements CpMediaInterface.
|
virtual |
Add, replace, or clear the media notification dispatcher held by the MI.
Gives the Media Interface an object to help in the dispatching of notification messages to users of the media interface. Users are free to subclass OsMsgDispatcher to filter messages as they see fit, and should hold on to it to receive their messages.
[in] | pNotificationDispatcher | - A notification dispatcher to give to the MI. |
NULL
is returned. Implements CpMediaInterface.
|
virtual |
Enable or disable media notifications for one/all resource(s).
Enable or disable media notifications for a given resource or all resources.
If /p NULL is passed for resource name, then all resources will have all notifications enabled/disabled This is an asynchronous operation. After calling this, it may take a bit of time before the new state takes effect.
[in] | enabled | - Whether notification type is to be enabled or disabled. |
[in] | resourceName | - the name of the resource to have notifications enabled/disabled on. |
OS_SUCCESS | if the initial sending of a message to enable/disable notifications succeeded. |
OS_NOT_FOUND | if there is no resource named /p resourceName. |
OS_FAILED | if some other failure in queuing the message occurred. |
Implements CpMediaInterface.
|
virtual |
Set the connection destination (target) for the designated media connection.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
[in] | rtpHostAddress | - IP (or host) address of remote party. |
[in] | rtpAudioPort | - RTP audio port of remote party |
[in] | rtcpAudioPort | - RTCP audio port of remote party |
[in] | rtpVideoPort | - RTP video port of remote party |
[in] | rtcpVideoPort | - RTCP video port of remote party |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Start sending RTP using the specified codec list.
Generally, this codec list is the intersection between both parties.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
[in] | numCodec | Number of codecs supplied in the sendCodec array |
[in] | sendCodec | Array of codecs ordered in sending preference. |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Start receiving RTP using the specified codec list.
Generally, this codec list is the intersection between both parties. The media processing subsystem should be prepared to receive any of the specified payload type without additional signaling. For example, it is perfectly legal to switch between codecs on a whim if multiple codecs are agreed upon.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
[in] | numCodec | - Number of codecs supplied in the sendCodec array |
[in] | sendCodec | - Array of receive codecs |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Stop sending RTP and RTCP data for the specified connection.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Stop receiving RTP and RTCP data for the specified connection.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Delete the specified RTP or RTCP connetion.
Delete the specified connection and free up any resources associated with that connection.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection. |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Start playing the specified tone for this call.
If the tone is a DTMF tone and the remote flag is set, the interface should send out of band DTMF using RFC 2833. Inband audio should be sent to all connections. If a previous tone was playing, calling startTone should automatically stop existing tone.
[in] | toneId | - The designated tone to play (TODO: make enum) |
[in] | local | - True indicates that sound should be played to the local speaker (assuming call is in focus). |
[in] | remote | - True indicates that the sound should be played to all remote parties. |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Stop playing all tones.
Implements CpMediaInterface.
|
virtual |
Set an offset to the NTP time provided in the RTCP SR.
Some tones/implementations may not support this. For example, some DTMF playing implementations will only play DTMF for a fixed interval.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Start playing DTMF tone.
Allows the RTCP synchronization time to be offset from the local wall clock time (NTP time). This does not efect the RTP timestamps in the RTP packets. It only effects the synchronization time in the RTCP sender report by offsetting the calculation of the RTP timestamp in the RTCP sender report for the current wall clock time in the RTCP sender report. This has the effect of adding a syncrhonization offset from other RTP streams (for receiving end points that use the RTCP sender report for synchronization).
[in] | connectionId | - connection in which the RTP stream to be offset is contained. |
[in] | mediaType | - media time of the stream to be offset (e.g. video or audio) |
[in] | streamIndex | - index to specific RTP stream of the give media type in the given connection. |
[in] | timeOffset | - offset to apply to the stream synchronization time in milliseconds |
Implements CpMediaInterface.
|
virtual |
Stop playing DTMF tone.
Implements CpMediaInterface.
|
virtual |
Play the specified audio URL to the call.
[in] | url | - Audio url to be played – The sipX implementation is limited to file paths (not file Urls). |
[in] | repeat | - If set, loop the audio file until stopAudio is called. |
[in] | local | - True indicates that sound should be played to the local speaker (assuming call is in focus). |
[in] | remote | - True indicates that the sound should be played to all remote parties. |
[in] | mixWithMic | - True to mix with microphone or False to replace it. |
[in] | downScaling | - 100 for no down scaling (range from 0 to 100) |
[in] | autoStopAfterFinish | - if set to TRUE you don't need to call stopAudio() when playback finishes because of end of the file. Otherwise you need to call stopAudio() on receiving of FINISHED notification. |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Play the specified audio buffer to the call.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Pause all playing URLs or buffers.
OS_SUCCESS | if the asynchronous request to pause audio succeeded. |
OS_NOT_FOUND | if required underlying media resources are not found. |
Implements CpMediaInterface.
|
virtual |
Resume all paused URLs or buffers.
OS_SUCCESS | if the asynchronous request to pause audio succeeded. |
OS_NOT_FOUND | if required underlying media resources are not found. |
Implements CpMediaInterface.
|
virtual |
Stop playing any URLs or buffers.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
|
virtual |
Stop buffer or file recording which has been started.
[in] | connectionId | - handle for media connection to which recorder is relate |
[in] | szFile | - name of file to record to |
[in] | cpFileFormat | - audio encoding format to use in the file |
[in] | appendToFile | - if file exist TRUE/FALSE should append to existing audio file. Note: If file is existing, it must be of the same audio format. Also be aware that when stopping and starting in rapid succession, you should wait for the stop notification before starting to record again with the same file or results are unpredictable. |
[in] | numChannels | - number of channels of audio to record to file |
[in] | maxTime | - max number of milliseconds to record, or 0 for no limit |
[in] | silenceLength | - length of silence (in milliseconds) after which recording is automatically stopped. This feature is disabled if -1 is passed. |
[in] | setupMultiChannelMixesAutomatically | - if number of channels is > 1 and this is true then the following mixes are automatically created: -All Local resources (including mic and file playback) are routed to channel 1 -The middle channels (2-3 in a 4 channel setup) get individual RTP resources -The last channel (channel 4 in a 4 channel setup) gets a mix of all other RTP resources |
Implements CpMediaInterface.
|
virtual |
Start recording to buffer.
Implements CpMediaInterface.
|
virtual |
Stop recording to buffer.
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Create a simple player for this call to play a single stream.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Destroy a simple player in this call.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Create a single-buffered play list player for this call.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Destroy a single-buffered play list player in this call.
Implements CpMediaInterface.
|
virtual |
Create a double-buffered list player for this call.
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Destroy a double-buffered list player in this call.
Implements CpMediaInterface.
|
virtual |
Give the focus of the local audio device to the associated call.
(for example, take this call off hold).
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Take this call out of focus for the local audio device.
(for example, put this call on hold).
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070802 >> |
Implements CpMediaInterface.
|
virtual |
Limits the available codecs to only those within the designated limit.
Implements CpMediaInterface.
|
inlinevirtual |
Implements CpMediaInterface.
|
virtual |
Record the microphone data.
Record audio from the microphone to a buffer passed in.
[in] | ms | - The amount of time (in milliseconds) to record. |
[in] | pAudioBuf | - Audio buffer to record to. |
[in] | bufferSize | - Size of the buffer (in samples). |
Implements CpMediaInterface.
|
virtual |
Record the microphone data to a file.
Record a fixed amount of audio from the microphone to a file.
[in] | ms | - The amount of time, in milliseconds, to record. |
[in] | silenceLength | - The amount of silence, in SECONDS, before recording is terminated. |
[in] | fileName | - The path and name of a file to record to. |
Implements CpMediaInterface.
|
virtual |
Set the contact type for this Phone media interface.
It is important to set the contact type BEFORE creating the connection – setting after the connection has been created is essentially a NOP.
Implements CpMediaInterface.
|
virtual |
Rebuild the codec factory on the fly.
Implements CpMediaInterface.
|
virtual |
Rebuild codec factory with one video codec.
No codecs will be added. This method only removes currently enabled codecs which are not included in the given list.
Implements CpMediaInterface.
|
virtual |
Set connection bitrate on the fly.
Implements CpMediaInterface.
|
virtual |
Set connection framerate on the fly.
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Add an alternate Audio RTP connection destination for this media interface.
Alternerates are generally obtained from the SdpBody in the form of candidate addresses. When adding an alternate connection, the implementation should use an ICE-like method to determine the best destination address.
[in] | connectionId | - Connection Id for the call leg obtained from createConnection |
[in] | iPriority | - Relatively priority of the destination. Higher numbers have greater priority. |
[in] | candidateIp | - Target/Candidate IP Address |
[in] | candidatePort | - Target/Candidate Port |
UNKNOWN | - << TODO: Add useful return values here - i.e. failure codes to expect, etc. – kkyzivat 20070801 >> |
Implements CpMediaInterface.
|
virtual |
Add an alternate Audio RTCP connection destination for this media interface.
Implements CpMediaInterface.
|
virtual |
Add an alternate Video RTP connection destination for this media interface.
Implements CpMediaInterface.
|
virtual |
Add an alternate Video RTCP connection destination for this media interface.
Implements CpMediaInterface.
|
inlinevirtual |
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Set gain for inputs to given output on bridge.
[in] | bridgeOutputPort | - output port on the bridge to which input gains are to be set |
[in] | numWeights | - number of input weights provided. If this number is less than the number of inputs on the bridge the inputs after numWeights are left unchanged. |
[in] | weights | - the new weights to set for the inputs. One for each of the numWeights to set. 1.0f is a net gain of zero. 2.0f is a 3Db gain. |
Implements CpMediaInterface.
|
virtual |
Calculate the current cost for our sending/receiving codecs.
Implements CpMediaInterface.
|
virtual |
Calculate the worst cost for our sending/receiving codecs.
Implements CpMediaInterface.
|
virtual |
Returns the sample rate of the flowgraph.
Implements CpMediaInterface.
|
virtual |
Returns the samples per frame of the flowgraph.
Implements CpMediaInterface.
|
virtual |
Returns the flowgraph's message queue.
Implements CpMediaInterface.
|
virtual |
Returns the Media Notification dispatcher this controls.
Implements CpMediaInterface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns primary codec for the connection.
Implements CpMediaInterface.
|
virtual |
Implements CpMediaInterface.
|
virtual |
Set a media property on the media interface.
Implements CpMediaInterface.
|
virtual |
Get a media property on the media interface.
Implements CpMediaInterface.
|
virtual |
Set a media property associated with a connection.
Implements CpMediaInterface.
|
virtual |
Get a media property associated with a connection.
Implements CpMediaInterface.
|
virtual |
|
virtual |
|
virtual |
Returns the primary codec for the connection.
Implements CpMediaInterface.
|
inlinevirtual |
Set IP address to advertise in SDP.
Implements CpMediaInterface.
|
virtual |
Query whether the specified media connection is enabled for sending RTP.
Implements CpMediaInterface.
|
virtual |
Query whether the specified media connection is enabled for sending RTP.
Implements CpMediaInterface.
|
virtual |
Query whether the specified media connection is enabled for sending RTP.
Implements CpMediaInterface.
|
virtual |
Query whether the specified media connection is enabled for sending RTP.
Implements CpMediaInterface.
|
virtual |
Query whether the specified media connection has a destination specified for sending RTP.
Implements CpMediaInterface.
|
virtual |
Query whether a new party can be added to this media interfaces.
Implements CpMediaInterface.
|
virtual |
Query whether the connection has started sending or receiving video.
Implements CpMediaInterface.
|
virtual |
Query whether the connection has started sending or receiving audio.
Implements CpMediaInterface.
|
virtual |
Query if the audio device is available.
Implements CpMediaInterface.
|
inlinevirtual |
Query if we are mixing a video conference.
Implements CpMediaInterface.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Create socket pair for RTP/RTCP streams.
For RTP/RTCP port pair will be set next free port pair.
[in] | localAddress | - Address to bind to (for multihomed hosts). |
[in] | localPort | - Local port to bind to (0 for auto select). |
[in] | contactType | - Contact type (see SIPX_CONTACT_TYPE). |
[out] | rtpSocket | - Created socket for RTP stream. |
[out] | rtcpSocket | - Created socket for RTCP stream. |
|
private |
|
private |
|
private |
|
private |
Disabled equals operator.
|
private |
Advertised as place to send RTP/RTCP.
|
private |
Address on which ports are bound.
|
private |
Flowgraph for audio part of call.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Dispatcher for translating mediaLib notification messages into abstract MediaAdapter ones. Only used if a dispatcher is set on this interface.