sipxmediaadapterlib  Version 3.3
CpTopologyGraphInterface.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2021 SIP Spectrum, Inc. All rights reserved.
3 //
4 // Copyright (C) 2005-2017 SIPez LLC. All rights reserved.
5 //
6 // Copyright (C) 2004-2009 SIPfoundry Inc.
7 // Licensed by SIPfoundry under the LGPL license.
8 //
9 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
10 // Licensed to SIPfoundry under a Contributor Agreement.
11 //
12 // $$
14 
15 // Author: Dan Petrie (dpetrie AT SIPez DOT com)
16 
17 #ifndef _CpTopologyGraphInterface_h_
18 #define _CpTopologyGraphInterface_h_
19 
20 // SYSTEM INCLUDES
21 // APPLICATION INCLUDES
22 #include <sdp/SdpCodecList.h>
23 #include "mp/MpTypes.h"
24 #include "mi/CpMediaInterface.h"
25 #include <net/QoS.h>
27 
28 // DEFINES
29 //#define HAVE_DELAY_API
30 
31 // MACROS
32 // EXTERNAL FUNCTIONS
33 // EXTERNAL VARIABLES
34 // CONSTANTS
35 // STRUCTS
36 // TYPEDEFS
37 // FORWARD DECLARATIONS
40 class MpTopologyGraph;
41 class MpResourceTopology;
42 class MpResourceFactory;
43 class MpInputDeviceManager;
44 class MpOutputDeviceManager;
45 class OsSocket;
46 class CircularBufferPtr;
47 
52 {
53 /* //////////////////////////// PUBLIC //////////////////////////////////// */
54 public:
55 
56 /* ============================ CREATORS ================================== */
57 
60  uint32_t samplesPerFrame,
61  uint32_t samplesPerSec,
62  const char* publicAddress = NULL,
63  const char* localAddress = NULL,
64  int numCodecs = 0,
65  SdpCodec* sdpCodecArray[] = NULL,
66  const char* pLocale = "",
67  int expeditedIpTos = QOS_LAYER3_LOW_DELAY_IP_TOS,
68  const char* stunServer = NULL,
69  int stunPort = PORT_NONE,
70  int stunKeepAlivePeriodSecs = 28,
71  const char* turnServer = NULL,
72  int turnPort = PORT_NONE,
73  const char* turnUsername = NULL,
74  const char* turnPassword = NULL,
75  int turnKeepAlivePeriodSecs = 28,
76  UtlBoolean enableIce = FALSE,
77  OsMsgDispatcher* pDispatcher = NULL,
78  MpInputDeviceManager* pInputDeviceManager = NULL,
79  MpInputDeviceHandle inputDeviceHandle = 1,
80  UtlBoolean inputDeviceAlreadyEnabled = FALSE,
81  MpOutputDeviceManager* pOutputDeviceManager = NULL,
82  MpOutputDeviceHandle outputDeviceHandle = 1
83  );
84 
85 
87  virtual ~CpTopologyGraphInterface();
88 
89  void release();
90 
91 /* ============================ MANIPULATORS ============================== */
92 
94  virtual OsStatus createConnection(int& connectionId,
95  const char* szLocalAddress,
96  int localPort = 0,
97  void* videoWindowHandle = NULL,
98  void* const pSecurityAttributes = NULL,
99  const RtpTransportOptions rtpTransportOptions=RTP_TRANSPORT_UDP);
100 
103  virtual OsStatus createConnection(int& connectionId,
104  OsSocket* rtpSocket,
105  OsSocket* rtcpSocket,
106  UtlBoolean isMulticast);
115  virtual OsStatus setPlcMethod(int connectionId,
117  const UtlString &methodName="");
118 
120  virtual
121  OsMsgDispatcher* setNotificationDispatcher(OsMsgDispatcher* pNotificationDispatcher);
122 
124  virtual OsStatus setNotificationsEnabled(bool enabled,
125  const UtlString& resourceName = NULL);
126 
128  int getNumBridgePorts();
129 
131  OsStatus getConnectionPortOnBridge(int connectionId,
132  int streamNum,
133  int& portOnBridge);
147  OsStatus getResourceInputPortOnBridge(const UtlString &resourceName,
149  int resourceOutputPortIndex,
150  int& portOnBridge);
162  OsStatus getResourceOutputPortOnBridge(const UtlString &resourceName,
164  int resourceInputPortIndex,
165  int& portOnBridge);
177  virtual OsStatus setMediaPassThrough(int connectionId,
179  MEDIA_STREAM_TYPE mediaType,
180  int mediaTypeStreamIndex,
181  UtlString& receiveAddress,
182  int rtpPort,
183  int rtcpPort);
184 
186  virtual OsStatus setConnectionDestination(int connectionId,
187  const char* rtpHostAddress,
188  int rtpAudioPort,
189  int rtcpAudioPort,
190  int rtpVideoPort,
191  int rtcpVideoPort);
192 
194  virtual OsStatus setConnectionDestination(int connectionId,
196  int streamIndex,
197  const char* rtpHostAddress,
198  int rtpPort,
199  int rtcpPort);
200 
202  virtual OsStatus copyPayloadIds(int connectionId, int numCodecs, SdpCodec* remoceCodecs[]);
203 
205  virtual OsStatus startRtpSend(int connectionId,
206  int numCodecs,
207  SdpCodec* sendCodec[]);
208 
210  virtual OsStatus startRtpReceive(int connectionId,
211  int numCodecs,
212  SdpCodec* sendCodec[]);
213 
215  virtual OsStatus stopRtpSend(int connectionId);
216 
218  virtual OsStatus stopRtpReceive(int connectionId);
219 
221  virtual const SdpCodecList* getConnectionCodecList(int connectionId);
222 
224  virtual OsStatus deleteConnection(int connectionId);
225 
227  virtual OsStatus startTone(int toneId, UtlBoolean local, UtlBoolean remote);
228  virtual OsStatus startTone(const UtlString& resourceName, int toneId, UtlBoolean rfc4733Enabled = TRUE);
230  virtual OsStatus stopTone();
231  virtual OsStatus stopTone(const UtlString& resourceName, UtlBoolean rfc4733Enabled = TRUE);
232 
234  virtual OsStatus setRtcpTimeOffset(int connectionId,
236  int streamIndex,
237  int timeOffset);
238 
240  virtual OsStatus startChannelTone(int connectionId, int toneId, UtlBoolean local, UtlBoolean remote); // Plays both inband and rfc4733 tone
241  virtual OsStatus startChannelTone(const UtlString& resourceName, int connectionId, int toneId);
243  virtual OsStatus stopChannelTone(int connectionId) ;
244  virtual OsStatus stopChannelTone(const UtlString& resourceName, int connectionId);
245 
247  virtual OsStatus startChannelOnlyTone(int connectionId, int toneId); // Plays RFC4733 only
249  virtual OsStatus stopChannelOnlyTone(int connectionId);
250 
252  virtual OsStatus playAudio(const char* url,
253  UtlBoolean repeat,
254  UtlBoolean local,
255  UtlBoolean remote,
256  UtlBoolean mixWithMic = false,
257  int downScaling = 100,
258  UtlBoolean autoStopAfterFinish = TRUE);
259  virtual OsStatus playAudio(const UtlString& resourceName,
260  const char* url,
261  UtlBoolean repeat,
262  UtlBoolean autoStopAfterFinish = TRUE);
263 
265  virtual OsStatus playBuffer(char* buf,
266  unsigned long bufSize,
267  uint32_t bufRate,
268  int type,
269  UtlBoolean repeat,
270  UtlBoolean local,
271  UtlBoolean remote,
272  OsProtectedEvent* event = NULL,
273  UtlBoolean mixWithMic = false,
274  int downScaling = 100,
275  UtlBoolean autoStopOnFinish = TRUE);
276  virtual OsStatus playBuffer(const UtlString& resourceName,
277  char* buf,
278  unsigned long bufSize,
279  uint32_t bufRate,
280  int type,
281  UtlBoolean repeat,
282  OsProtectedEvent* event = NULL,
283  UtlBoolean autoStopOnFinish = TRUE);
284 
286  virtual OsStatus pauseAudio();
287  virtual OsStatus pauseAudio(const UtlString& resourceName);
288 
290  virtual OsStatus resumeAudio();
291  virtual OsStatus resumeAudio(const UtlString& resourceName);
292 
294  virtual OsStatus stopAudio();
295  virtual OsStatus stopAudio(const UtlString& resourceName);
296 
298  virtual OsStatus playChannelAudio(int connectionId,
299  const char* url,
300  UtlBoolean repeat,
301  UtlBoolean local,
302  UtlBoolean remote,
303  UtlBoolean mixWithMic = false,
304  int downScaling = 100,
305  UtlBoolean autoStopOnFinish = TRUE);
306 
308  virtual OsStatus stopChannelAudio(int connectionId) ;
309 
311  virtual OsStatus recordChannelAudio(int connectionId,
312  const char* szFile,
313  CpAudioFileFormat cpFileFormat = CP_WAVE_PCM_16,
314  UtlBoolean appendToFile = FALSE,
315  int numChannels = 1,
316  int maxTime = 0,
317  int silenceLength = -1,
318  UtlBoolean setupMultiChannelMixesAutomatically = TRUE);
319  virtual OsStatus recordAudio(const UtlString& resourceName,
320  const char* szFile,
321  CpAudioFileFormat cpFileFormat = CP_WAVE_PCM_16,
322  UtlBoolean appendToFile = FALSE,
323  int numChannels = 1,
324  int maxTime = 0,
325  int silenceLength = -1,
326  UtlBoolean setupMultiChannelMixesAutomatically = TRUE);
327 
329  virtual OsStatus pauseRecordChannelAudio(int connectionId);
330  virtual OsStatus pauseRecordAudio(const UtlString& resourceName);
331 
333  virtual OsStatus resumeRecordChannelAudio(int connectionId);
334  virtual OsStatus resumeRecordAudio(const UtlString& resourceName);
335 
337  virtual OsStatus stopRecordChannelAudio(int connectionId);
338  virtual OsStatus stopRecordAudio(const UtlString& resourceName);
339 
341  virtual OsStatus recordBufferChannelAudio(int connectionId,
342  char* pBuffer,
343  int bufferSize,
344  int maxRecordTime = -1,
345  int maxSilence = -1) ;
346  virtual OsStatus recordBufferAudio(const UtlString& resourceName,
347  char* pBuffer,
348  int bufferSize,
349  int maxRecordTime = -1,
350  int maxSilence = -1);
351 
353  virtual OsStatus stopRecordBufferChannelAudio(int connectionId) ;
354 
355  virtual OsStatus recordCircularBufferChannelAudio(int connectionId,
356  CircularBufferPtr & buffer,
357  CpMediaInterface::CpAudioFileFormat recordingFormat,
358  unsigned long recordingBufferNotificationWatermark);
359  virtual OsStatus recordCircularBufferAudio(const UtlString& resourceName,
360  CircularBufferPtr& buffer,
361  CpMediaInterface::CpAudioFileFormat recordingFormat,
362  unsigned long recordingBufferNotificationWatermark);
363 
364  virtual OsStatus stopRecordCircularBufferChannelAudio(int connectionId);
365 
367  virtual OsStatus createPlayer(MpStreamPlayer** ppPlayer,
368  const char* szStream,
369  int flags,
370  OsMsgQ *pMsgQ = NULL,
371  const char* szTarget = NULL) ;
372 
374  virtual OsStatus destroyPlayer(MpStreamPlayer* pPlayer);
375 
377  virtual OsStatus createPlaylistPlayer(MpStreamPlaylistPlayer**
378  ppPlayer,
379  OsMsgQ *pMsgQ = NULL,
380  const char* szTarget = NULL);
381 
383  virtual OsStatus destroyPlaylistPlayer(MpStreamPlaylistPlayer* pPlayer);
384 
386  virtual OsStatus createQueuePlayer(MpStreamQueuePlayer** ppPlayer,
387  OsMsgQ *pMsgQ = NULL,
388  const char* szTarget = NULL);
389 
391  virtual OsStatus destroyQueuePlayer(MpStreamQueuePlayer* pPlayer);
392 
393  virtual OsStatus giveFocus();
394  virtual OsStatus defocus();
395 
396  virtual void setCodecCPULimit(int iLimit);
397  //:Limits the available codecs to only those within the designated
398  //:limit.
399 
401  virtual OsStatus recordMic(int ms, int16_t* pAudioBuf, int bufferSize);
402 
404  virtual OsStatus recordMic(int ms,
405  int silenceLength,
406  const char* fileName);
407 
408  virtual void setContactType(int connectionId, SIPX_CONTACT_TYPE eType, SIPX_CONTACT_ID contactId) ;
409  //: Set the contact type for this Phone media interface.
410  // It is important to set the contact type BEFORE creating the
411  // connection -- setting after the connection has been created
412  // is essentially a NOP.
413 
415  virtual OsStatus setAudioCodecBandwidth(int connectionId, int bandWidth) ;
416 
418  virtual OsStatus limitCodecs(int connectionId, const SdpCodecList& includeOnlyCodecList);
419 
420  virtual OsStatus rebuildCodecFactory(int connectionId,
421  int audioBandwidth,
422  int videoBandwidth,
423  UtlString& videoCodec);
424 
426  virtual OsStatus setConnectionBitrate(int connectionId, int bitrate) ;
427 
429  virtual OsStatus setConnectionFramerate(int connectionId, int framerate) ;
430 
431  virtual OsStatus setSecurityAttributes(const void* security) ;
432 
433  virtual OsStatus addAudioRtpConnectionDestination(int connectionId,
434  int iPriority,
435  const char* candidateIp,
436  int candidatePort) ;
437 
438  virtual OsStatus addAudioRtcpConnectionDestination(int connectionId,
439  int iPriority,
440  const char* candidateIp,
441  int candidatePort) ;
442 
443  virtual OsStatus addVideoRtpConnectionDestination(int connectionId,
444  int iPriority,
445  const char* candidateIp,
446  int candidatePort) ;
447 
448  virtual OsStatus addVideoRtcpConnectionDestination(int connectionId,
449  int iPriority,
450  const char* candidateIp,
451  int candidatePort) ;
452 
453  virtual void setConnectionTcpRole(const int connectionId, const RtpTcpRoles role)
454  {
455  // NOT IMPLEMENTED
456  }
457 
458  virtual OsStatus generateVoiceQualityReport(int connectiond,
459  const char* callId,
460  UtlString& report) ;
461 
463  OsStatus enableDtx(int connectionId, UtlBoolean enable);
464 
466  OsStatus setRtpInactivityTimeout(int connectionId, int timeoutMs);
467 
468 /* ============================ ACCESSORS ================================= */
469 
472  virtual OsStatus getCapabilities(int connectionId,
473  UtlString& rtpHostAddress,
474  int& rtpAudioPort,
475  int& rtcpAudioPort,
476  int& rtpVideoPort,
477  int& rtcpVideoPort,
478  SdpCodecList& supportedCodecs,
479  SdpSrtpParameters& srtpParams,
480  int bandWidth,
481  int& videoBandwidth,
482  int& videoFramerate);
483 
487  virtual OsStatus getCapabilitiesEx(int connectionId,
488  int nMaxAddresses,
489  UtlString rtpHostAddresses[],
490  int rtpAudioPorts[],
491  int rtcpAudioPorts[],
492  int rtpVideoPorts[],
493  int rtcpVideoPorts[],
494  RTP_TRANSPORT transportTypes[],
495  int& nActualAddresses,
496  SdpCodecList& supportedCodecs,
497  SdpSrtpParameters& srtpParameters,
498  int bandWidth,
499  int& videoBandwidth,
500  int& videoFramerate);
501 
504  virtual int getCodecCPUCost();
505 
508  virtual int getCodecCPULimit();
509 
510  // @copydoc CpMediaInterface::getSamplesPerSec()
511  virtual uint32_t getSamplesPerSec();
512 
514  virtual uint32_t getSamplesPerFrame();
515 
517  virtual OsMsgQ* getMsgQ();
518 
520  virtual OsMsgDispatcher* getNotificationDispatcher();
521 
523  virtual OsStatus setMixWeightForOutput(int bridgeOutputPort, float weight);
524 
526  virtual OsStatus setMixWeightsForOutput(int bridgeOutputPort, int numWeights, float weights[]);
527 
528  virtual OsStatus getVideoQuality(int& quality);
529 
530  virtual OsStatus getVideoBitRate(int& bitRate);
531 
532  virtual OsStatus getVideoFrameRate(int& frameRate);
533 
534  // Returns the primary codec for the connection
535  virtual OsStatus getPrimaryCodec(int connectionId,
536  UtlString& audioCodec,
537  UtlString& videoCodec,
538  int* audiopPayloadType,
539  int* videoPayloadType,
540  bool& isEncrypted);
541 
542  virtual OsStatus setVideoWindowDisplay(const void* hWnd);
543 
544  virtual const void* getVideoWindowDisplay();
545 
546  virtual OsStatus getAudioEnergyLevels(int& iInputEnergyLevel,
547  int& iOutputEnergyLevel)
548  { return OS_NOT_SUPPORTED ;} ;
549 
550  virtual OsStatus getAudioEnergyLevels(int connectionId,
551  int& iInputEnergyLevel,
552  int& iOutputEnergyLevel,
553  int& nContributors,
554  unsigned int* pContributorSRCIds,
555  int* pContributorEngeryLevels)
556  { return OS_NOT_SUPPORTED ;} ;
557 
559  virtual OsStatus getAudioRtpSourceIDs(int connectionId,
560  unsigned int& uiSendingSSRC,
561  unsigned int& uiReceivingSSRC);
567  virtual OsStatus enableAudioTransport(int connectionId, UtlBoolean bEnable)
568  {
569  return OS_NOT_SUPPORTED;
570  };
571 
572  virtual OsStatus enableVideoTransport(int connectionId, UtlBoolean bEnable)
573  {
574  return OS_NOT_SUPPORTED;
575  };
576 
577 
578  // Note: the followingproperties may be set or get, but have no effect
579  // Set a media property on the media interface
580  /*
581  * Media interfaces that wish to interoperate should implement the following properties
582  * and values:
583  *
584  * Property Name Property Values
585  * ======================= ===============
586  * "audioInput1.muteState" "true", "false" for systems that may have a microphone for each conference or 2-way call
587  * "audioInput1.device" same value as szDevice in sipxAudioSetCallInputDevice
588  * "audioOutput1.deviceType" "speaker", "ringer" same as sipxAudioEnableSpeaker, but for specific conference or 2-way call
589  * "audioOutput1.ringerDevice" same value as szDevice in sipxAudioSetRingerOutputDevice
590  * "audioOutput1.speakerDevice" same values as szDevice in sipxAudioSetCallOutputDevice
591  * "audioOutput1.volume" string value of iLevel in sipxAudioSetVolume
592  */
593  virtual OsStatus setMediaProperty(const UtlString& propertyName,
594  const UtlString& propertyValue);
595 
597  virtual OsStatus getMediaProperty(const UtlString& propertyName,
598  UtlString& propertyValue);
599 
601  virtual OsStatus setMediaProperty(int connectionId,
602  const UtlString& propertyName,
603  const UtlString& propertyValue);
604 
606  virtual OsStatus getMediaProperty(int connectionId,
607  const UtlString& propertyName,
608  UtlString& propertyValue);
609 
611  virtual OsStatus getConnectionInputLatency(int &latency,
612  MpConnectionID connectionId,
613  int streamId=0);
623  virtual OsStatus getConnectionOutputLatency(int &latency,
625  MpConnectionID connectionId=-1);
634  virtual UtlString getType() { return "CpTopologyGraphInterface"; };
635 
636 /* ============================ INQUIRY =================================== */
637 
638 
641  virtual UtlBoolean isSendingRtpAudio(int connectionId);
642 
645  virtual UtlBoolean isSendingRtpVideo(int connectionId);
646 
649  virtual UtlBoolean isReceivingRtpAudio(int connectionId);
650 
653  virtual UtlBoolean isReceivingRtpVideo(int connectionId);
654 
657  virtual UtlBoolean isDestinationSet(int connectionId);
658 
660  virtual UtlBoolean canAddParty();
661 
663  virtual UtlBoolean isVideoInitialized(int connectionId);
664 
666  virtual UtlBoolean isAudioInitialized(int connectionId);
667 
669  virtual UtlBoolean isAudioAvailable();
670 
672  virtual UtlBoolean isVideoConferencing(){return(FALSE);};
673 
674 /* //////////////////////////// PROTECTED ///////////////////////////////// */
675 protected:
676  UtlBoolean getLocalAddresses( int connectionId,
677  UtlString& hostIp,
678  int& rtpAudioPort,
679  int& rtcpAudioPort,
680  int& rtpVideoPort,
681  int& rtcpVideoPort) ;
682 
683  UtlBoolean getNatedAddresses( int connectionId,
684  UtlString& hostIp,
685  int& rtpAudioPort,
686  int& rtcpAudioPort,
687  int& rtpVideoPort,
688  int& rtcpVideoPort) ;
689 
690 
691  UtlBoolean getRelayAddresses( int connectionId,
692  UtlString& hostIp,
693  int& rtpAudioPort,
694  int& rtcpAudioPort,
695  int& rtpVideoPort,
696  int& rtcpVideoPort) ;
697 
698 
699  OsStatus addLocalContacts( int connectionId,
700  int nMaxAddresses,
701  UtlString rtpHostAddresses[],
702  int rtpAudioPorts[],
703  int rtcpAudioPorts[],
704  int rtpVideoPorts[],
705  int rtcpVideoPorts[],
706  int& nActualAddresses) ;
707 
708  OsStatus addNatedContacts( int connectionId,
709  int nMaxAddresses,
710  UtlString rtpHostAddresses[],
711  int rtpAudioPorts[],
712  int rtcpAudioPorts[],
713  int rtpVideoPorts[],
714  int rtcpVideoPorts[],
715  int& nActualAddresses) ;
716 
717  OsStatus addRelayContacts( int connectionId,
718  int nMaxAddresses,
719  UtlString rtpHostAddresses[],
720  int rtpAudioPorts[],
721  int rtcpAudioPorts[],
722  int rtpVideoPorts[],
723  int rtcpVideoPorts[],
724  int& nActualAddresses) ;
725 
726  void applyAlternateDestinations(int connectionId) ;
727 
729  OsStatus createRtpSocketPair(UtlString localAddress,
730  int localPort,
731  UtlBoolean isMulticast,
732  SIPX_CONTACT_TYPE contactType,
733  OsSocket* &rtpSocket,
734  OsSocket* &rtcpSocket);
746 /* //////////////////////////// PRIVATE /////////////////////////////////// */
747 private:
748 
750  MpResourceFactory* mpResourceFactory;
751  MpTopologyGraph* mpTopologyGraph;
752  SdpCodecList mSupportedCodecs;
756 
757  MpInputDeviceManager* mpInputDeviceManager;
758  MpInputDeviceHandle mInputDeviceHandle;
759  MpOutputDeviceManager* mpOutputDeviceManager;
760  MpOutputDeviceHandle mOutputDeviceHandle;
761 
762  UtlString mStunServer;
765  UtlString mTurnServer;
768  UtlString mTurnUsername;
769  UtlString mTurnPassword;
770  UtlBoolean mEnableIce;
771 
773  UtlString mLocalAddress;
776 
780  int getNextConnectionId();
781 
783  CpTopologyMediaConnection* createMediaConnection(int& connectionId, UtlBoolean isMcast);
784 
786  OsStatus deleteMediaConnection(CpTopologyMediaConnection* mediaConnection);
787 
790 
792  OsStatus discardLoopbackRtp(CpTopologyMediaConnection* mediaConnection);
800  void stopRtpReceive(CpTopologyMediaConnection* mediaConnection);
802 
804  void stopRtpSend(CpTopologyMediaConnection* mediaConnection);
805 
807  OsStatus setConnectionWeightOnBridge(CpTopologyMediaConnection *mediaConnection,
808  int destPort,
809  float weight);
810 
813  int destConnectionId,
814  float weight);
815 
817  OsStatus setMicGain(float gain);
818 
820  OsStatus setMicWeightOnBridge(float weight);
821 
824 
827 };
828 
829 /* ============================ INLINE METHODS ============================ */
830 
831 #endif // _CpTopologyGraphInterface_h_
virtual OsStatus pauseRecordChannelAudio(int connectionId)
Pause buffer or file recording which has been started.
Definition: CpTopologyGraphInterface.cpp:2154
virtual OsStatus setMediaProperty(const UtlString &propertyName, const UtlString &propertyValue)
Set a media property on the media interface.
Definition: CpTopologyGraphInterface.cpp:3617
virtual OsStatus getConnectionInputLatency(int &latency, MpConnectionID connectionId, int streamId=0)
Get a latency of the input part of the RTP or local connection.
Definition: CpTopologyGraphInterface.cpp:3722
virtual OsStatus getAudioEnergyLevels(int &iInputEnergyLevel, int &iOutputEnergyLevel)
Definition: CpTopologyGraphInterface.h:546
virtual OsStatus getMediaProperty(const UtlString &propertyName, UtlString &propertyValue)
Get a media property on the media interface.
Definition: CpTopologyGraphInterface.cpp:3639
virtual const SdpCodecList * getConnectionCodecList(int connectionId)
Get the list of codecs and payload IDs for the connection.
Definition: CpTopologyGraphInterface.cpp:1806
virtual void setConnectionTcpRole(const int connectionId, const RtpTcpRoles role)
Definition: CpTopologyGraphInterface.h:453
virtual OsStatus stopRtpReceive(int connectionId)
Stop receiving RTP and RTCP data for the specified connection.
Definition: CpTopologyGraphInterface.cpp:1834
CpAudioFileFormat
Definition: CpMediaInterface.h:108
MpTopologyGraph * mpTopologyGraph
Definition: CpTopologyGraphInterface.h:751
virtual OsStatus setNotificationsEnabled(bool enabled, const UtlString &resourceName=NULL)
Enable or disable media notifications for one/all resource(s).
Definition: CpTopologyGraphInterface.cpp:715
int mTurnPort
Definition: CpTopologyGraphInterface.h:766
virtual OsStatus enableAudioTransport(int connectionId, UtlBoolean bEnable)
Definition: CpTopologyGraphInterface.h:567
Dispatcher to translate MediaLib notifications into abstracted MediaAdapterLib notifications.
Definition: MaNotfTranslatorDispatcher.h:40
UtlString mLocalAddress
Definition: CpTopologyGraphInterface.h:773
virtual OsStatus startTone(int toneId, UtlBoolean local, UtlBoolean remote)
Start playing the specified tone for this call.
Definition: CpTopologyGraphInterface.cpp:2323
virtual ~CpTopologyGraphInterface()
Destructor.
Definition: CpTopologyGraphInterface.cpp:403
virtual OsStatus destroyQueuePlayer(MpStreamQueuePlayer *pPlayer)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2318
Subsystem manager and creator of CpTopologyGraphInterfaces specialization of CpMediaInterface.
Definition: CpTopologyGraphFactoryImpl.h:45
virtual OsStatus destroyPlaylistPlayer(MpStreamPlaylistPlayer *pPlayer)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2304
Wave file format containing PCM 16 bit signed little endian encoded audio.
Definition: CpMediaInterface.h:111
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)
Start recording to file.
Definition: CpTopologyGraphInterface.cpp:2033
int mStunRefreshPeriodSecs
Definition: CpTopologyGraphInterface.h:764
OsStatus createRtpSocketPair(UtlString localAddress, int localPort, UtlBoolean isMulticast, SIPX_CONTACT_TYPE contactType, OsSocket *&rtpSocket, OsSocket *&rtcpSocket)
Create socket pair for RTP/RTCP streams.
Definition: CpTopologyGraphInterface.cpp:3843
SdpCodecList mSupportedCodecs
Definition: CpTopologyGraphInterface.h:752
MpOutputDeviceManager * mpOutputDeviceManager
Definition: CpTopologyGraphInterface.h:759
virtual OsStatus setConnectionBitrate(int connectionId, int bitrate)
Set connection bitrate on the fly.
Definition: CpTopologyGraphInterface.cpp:2720
virtual OsStatus stopRtpSend(int connectionId)
Stop sending RTP and RTCP data for the specified connection.
Definition: CpTopologyGraphInterface.cpp:1819
OsStatus getResourceInputPortOnBridge(const UtlString &resourceName, int resourceOutputPortIndex, int &portOnBridge)
Look up the port on the bridge to which the indicated resource is connected.
Definition: CpTopologyGraphInterface.cpp:748
virtual OsStatus setAudioCodecBandwidth(int connectionId, int bandWidth)
Rebuild the codec factory on the fly.
Definition: CpTopologyGraphInterface.cpp:2651
UtlBoolean getLocalAddresses(int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort)
Definition: CpTopologyGraphInterface.cpp:3092
virtual OsStatus setMixWeightForOutput(int bridgeOutputPort, float weight)
Set the mix weight for all inputs, but its own to the given weight and output on bridge.
Definition: CpTopologyGraphInterface.cpp:4299
UtlString mRtpReceiveHostAddress
Definition: CpTopologyGraphInterface.h:772
virtual OsStatus stopRecordCircularBufferChannelAudio(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2269
virtual OsStatus setSecurityAttributes(const void *security)
Definition: CpTopologyGraphInterface.cpp:2732
int mTurnRefreshPeriodSecs
Definition: CpTopologyGraphInterface.h:767
OsStatus setRtpInactivityTimeout(int connectionId, int timeoutMs)
Set inactive time (in ms) after which RTP stream is actually marked inactive.
Definition: CpTopologyGraphInterface.cpp:2763
virtual OsStatus rebuildCodecFactory(int connectionId, int audioBandwidth, int videoBandwidth, UtlString &videoCodec)
Rebuild codec factory with one video codec.
Definition: CpTopologyGraphInterface.cpp:2712
virtual UtlString getType()
Set IP address to advertise in SDP.
Definition: CpTopologyGraphInterface.h:634
virtual OsMsgQ * getMsgQ()
Returns the flowgraph&#39;s message queue.
Definition: CpTopologyGraphInterface.cpp:2886
int mInitialTopologyBridgePorts
Definition: CpTopologyGraphInterface.h:755
CpTopologyGraphInterface(CpTopologyGraphFactoryImpl *factoryImpl, uint32_t samplesPerFrame, uint32_t samplesPerSec, 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 *stunServer=NULL, int stunPort=PORT_NONE, int stunKeepAlivePeriodSecs=28, const char *turnServer=NULL, int turnPort=PORT_NONE, const char *turnUsername=NULL, const char *turnPassword=NULL, int turnKeepAlivePeriodSecs=28, UtlBoolean enableIce=FALSE, OsMsgDispatcher *pDispatcher=NULL, MpInputDeviceManager *pInputDeviceManager=NULL, MpInputDeviceHandle inputDeviceHandle=1, UtlBoolean inputDeviceAlreadyEnabled=FALSE, MpOutputDeviceManager *pOutputDeviceManager=NULL, MpOutputDeviceHandle outputDeviceHandle=1)
Default constructor.
Definition: CpTopologyGraphInterface.cpp:243
virtual OsStatus startRtpReceive(int connectionId, int numCodecs, SdpCodec *sendCodec[])
Set the connection destination (target) for the designated media connection.
Definition: CpTopologyGraphInterface.cpp:1678
virtual OsStatus stopRecordAudio(const UtlString &resourceName)
Definition: CpTopologyGraphInterface.cpp:2189
int mStunPort
Definition: CpTopologyGraphInterface.h:763
virtual OsStatus recordCircularBufferChannelAudio(int connectionId, CircularBufferPtr &buffer, CpMediaInterface::CpAudioFileFormat recordingFormat, unsigned long recordingBufferNotificationWatermark)
Definition: CpTopologyGraphInterface.cpp:2238
MpOutputDeviceHandle mOutputDeviceHandle
Definition: CpTopologyGraphInterface.h:760
UtlString mTurnUsername
Definition: CpTopologyGraphInterface.h:768
virtual UtlBoolean isVideoInitialized(int connectionId)
Query whether the connection has started sending or receiving video.
Definition: CpTopologyGraphInterface.cpp:3063
OsStatus setConnectionToConnectionWeight(CpTopologyMediaConnection *srcConnection, int destConnectionId, float weight)
Set mixing weight from all connection&#39;s streams to the given output port.
Definition: CpTopologyGraphInterface.cpp:4416
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.
Definition: CpTopologyGraphInterface.cpp:1104
virtual OsStatus deleteConnection(int connectionId)
Delete the specified RTP or RTCP connetion.
Definition: CpTopologyGraphInterface.cpp:1865
virtual UtlBoolean isDestinationSet(int connectionId)
Definition: CpTopologyGraphInterface.cpp:3035
virtual OsStatus createPlayer(MpStreamPlayer **ppPlayer, const char *szStream, int flags, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2280
OsStatus deleteMediaConnection(CpTopologyMediaConnection *mediaConnection)
Free media connection structure.
Definition: CpTopologyGraphInterface.cpp:4084
virtual OsStatus getAudioEnergyLevels(int connectionId, int &iInputEnergyLevel, int &iOutputEnergyLevel, int &nContributors, unsigned int *pContributorSRCIds, int *pContributorEngeryLevels)
Definition: CpTopologyGraphInterface.h:550
virtual OsStatus startChannelTone(int connectionId, int toneId, UtlBoolean local, UtlBoolean remote)
Start playing DTMF tone.
Definition: CpTopologyGraphInterface.cpp:2453
virtual OsMsgDispatcher * getNotificationDispatcher()
Returns the Media Notification dispatcher this controls.
Definition: CpTopologyGraphInterface.cpp:2891
void applyAlternateDestinations(int connectionId)
Definition: CpTopologyGraphInterface.cpp:3500
virtual UtlBoolean isReceivingRtpVideo(int connectionId)
Definition: CpTopologyGraphInterface.cpp:3013
OsStatus setConnectionWeightOnBridge(CpTopologyMediaConnection *mediaConnection, int destPort, float weight)
Set mixing weight from all connection&#39;s streams to the given output port.
Definition: CpTopologyGraphInterface.cpp:4362
virtual OsStatus setPlcMethod(int connectionId, const UtlString &methodName="")
Set PLC method to use for codecs which does not have own PLC.
Definition: CpTopologyGraphInterface.cpp:652
CpTopologyGraphInterface & operator=(const CpTopologyGraphInterface &)
Disabled assignment operator.
int getNumBridgePorts()
Get number of bridge ports (-1 on failure).
Definition: CpTopologyGraphInterface.cpp:723
virtual OsStatus stopRecordBufferChannelAudio(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2227
virtual UtlBoolean isSendingRtpVideo(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2992
virtual OsStatus addAudioRtpConnectionDestination(int connectionId, int iPriority, const char *candidateIp, int candidatePort)
Add an alternate Audio RTP connection destination for this media interface.
Definition: CpTopologyGraphInterface.cpp:1266
virtual OsStatus defocus()
Take this call out of focus for the local audio device.
Definition: CpTopologyGraphInterface.cpp:2581
Abstract media control interface.
Definition: CpMediaInterface.h:96
virtual OsStatus resumeAudio()
Resume all paused URLs or buffers.
Definition: CpTopologyGraphInterface.cpp:1982
virtual OsStatus getAudioRtpSourceIDs(int connectionId, unsigned int &uiSendingSSRC, unsigned int &uiReceivingSSRC)
Get receiving and sending SSRCs for given connection.
Definition: CpTopologyGraphInterface.cpp:3589
virtual OsStatus recordBufferChannelAudio(int connectionId, char *pBuffer, int bufferSize, int maxRecordTime=-1, int maxSilence=-1)
Start recording to buffer.
Definition: CpTopologyGraphInterface.cpp:2199
virtual OsStatus getVideoQuality(int &quality)
Definition: CpTopologyGraphInterface.cpp:2937
virtual void setContactType(int connectionId, SIPX_CONTACT_TYPE eType, SIPX_CONTACT_ID contactId)
Set the preferred contact type for this media connection.
Definition: CpTopologyGraphInterface.cpp:2632
virtual OsStatus resumeRecordAudio(const UtlString &resourceName)
Definition: CpTopologyGraphInterface.cpp:2174
virtual OsStatus copyPayloadIds(int connectionId, int numCodecs, SdpCodec *remoceCodecs[])
copies payload IDs for matching codecs to interfaces codec list
Definition: CpTopologyGraphInterface.cpp:1424
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.
Definition: CpTopologyGraphInterface.cpp:2391
OsStatus getResourceOutputPortOnBridge(const UtlString &resourceName, int resourceInputPortIndex, int &portOnBridge)
Look up the port on the bridge to which the indicated resource is connected.
Definition: CpTopologyGraphInterface.cpp:774
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)
Definition: CpTopologyGraphInterface.cpp:800
Definition: CpTopologyGraphInterface.cpp:80
virtual int getCodecCPUCost()
Definition: CpTopologyGraphInterface.cpp:2785
virtual UtlBoolean isSendingRtpAudio(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2957
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.
Definition: CpTopologyGraphInterface.cpp:483
virtual uint32_t getSamplesPerFrame()
Returns the samples per frame of the flowgraph.
Definition: CpTopologyGraphInterface.cpp:2880
virtual OsStatus pauseAudio()
Pause all playing URLs or buffers.
Definition: CpTopologyGraphInterface.cpp:1967
virtual OsStatus generateVoiceQualityReport(int connectiond, const char *callId, UtlString &report)
Definition: CpTopologyGraphInterface.cpp:2737
virtual OsStatus resumeRecordChannelAudio(int connectionId)
Resume buffer or file recording which has been paused.
Definition: CpTopologyGraphInterface.cpp:2169
virtual OsStatus stopTone()
Stop playing all tones.
Definition: CpTopologyGraphInterface.cpp:2358
virtual const void * getVideoWindowDisplay()
Definition: CpTopologyGraphInterface.cpp:3083
virtual OsStatus createQueuePlayer(MpStreamQueuePlayer **ppPlayer, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2310
virtual OsStatus destroyPlayer(MpStreamPlayer *pPlayer)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2290
virtual OsStatus getPrimaryCodec(int connectionId, UtlString &audioCodec, UtlString &videoCodec, int *audiopPayloadType, int *videoPayloadType, bool &isEncrypted)
Returns the primary codec for the connection.
Definition: CpTopologyGraphInterface.cpp:2896
virtual OsStatus startChannelOnlyTone(int connectionId, int toneId)
Definition: CpTopologyGraphInterface.cpp:2517
virtual OsStatus recordAudio(const UtlString &resourceName, const char *szFile, CpAudioFileFormat cpFileFormat=CP_WAVE_PCM_16, UtlBoolean appendToFile=FALSE, int numChannels=1, int maxTime=0, int silenceLength=-1, UtlBoolean setupMultiChannelMixesAutomatically=TRUE)
Definition: CpTopologyGraphInterface.cpp:2045
void release()
Definition: CpTopologyGraphInterface.cpp:476
virtual UtlBoolean isAudioAvailable()
Query if the audio device is available.
Definition: CpTopologyGraphInterface.cpp:3073
CpTopologyMediaConnection * getMediaConnection(int connectionId)
Get media connection structure by its connectionID.
Definition: CpTopologyGraphInterface.cpp:4198
int getNextConnectionId()
Get the next unique connection Id scoped to this flowgraph.
Definition: CpTopologyGraphInterface.cpp:4019
virtual OsStatus stopChannelOnlyTone(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2543
virtual OsStatus addAudioRtcpConnectionDestination(int connectionId, int iPriority, const char *candidateIp, int candidatePort)
Add an alternate Audio RTCP connection destination for this media interface.
Definition: CpTopologyGraphInterface.cpp:1305
OsStatus setMicGain(float gain)
Set the Mic gain.
Definition: CpTopologyGraphInterface.cpp:4439
MEDIA_STREAM_TYPE
Definition: CpMediaInterface.h:101
virtual OsMsgDispatcher * setNotificationDispatcher(OsMsgDispatcher *pNotificationDispatcher)
Add, replace, or clear the media notification dispatcher held by the MI.
Definition: CpTopologyGraphInterface.cpp:684
OsStatus enableDtx(int connectionId, UtlBoolean enable)
Enable/disable discontinuous transmission for given connection.
Definition: CpTopologyGraphInterface.cpp:2744
MpResourceFactory * mpResourceFactory
Definition: CpTopologyGraphInterface.h:750
OsStatus addNatedContacts(int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses)
Definition: CpTopologyGraphInterface.cpp:3393
virtual OsStatus stopChannelTone(int connectionId)
Stop playing DTMF tone.
Definition: CpTopologyGraphInterface.cpp:2487
OsStatus getConnectionPortOnBridge(int connectionId, int streamNum, int &portOnBridge)
Look up the port on the bridge to which the indicated connection is connected.
Definition: CpTopologyGraphInterface.cpp:735
UtlString mTurnServer
Definition: CpTopologyGraphInterface.h:765
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)
Definition: CpTopologyGraphInterface.cpp:949
virtual void setCodecCPULimit(int iLimit)
Set the CPU resource limit for the media connections in this call.
Definition: CpTopologyGraphInterface.cpp:2599
virtual UtlBoolean isReceivingRtpAudio(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2975
virtual OsStatus recordBufferAudio(const UtlString &resourceName, char *pBuffer, int bufferSize, int maxRecordTime=-1, int maxSilence=-1)
Definition: CpTopologyGraphInterface.cpp:2208
OsStatus addRelayContacts(int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses)
Definition: CpTopologyGraphInterface.cpp:3446
virtual int getCodecCPULimit()
Definition: CpTopologyGraphInterface.cpp:2818
virtual OsStatus stopAudio()
Stop playing any URLs or buffers.
Definition: CpTopologyGraphInterface.cpp:1997
virtual OsStatus recordMic(int ms, int16_t *pAudioBuf, int bufferSize)
Record the microphone data.
Definition: CpTopologyGraphInterface.cpp:2611
virtual OsStatus giveFocus()
Give the focus of the local audio device to the associated call.
Definition: CpTopologyGraphInterface.cpp:2569
int mExpeditedIpTos
Definition: CpTopologyGraphInterface.h:754
OsStatus addLocalContacts(int connectionId, int nMaxAddresses, UtlString rtpHostAddresses[], int rtpAudioPorts[], int rtcpAudioPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], int &nActualAddresses)
Definition: CpTopologyGraphInterface.cpp:3339
virtual OsStatus setMediaPassThrough(int connectionId, MEDIA_STREAM_TYPE mediaType, int mediaTypeStreamIndex, UtlString &receiveAddress, int rtpPort, int rtcpPort)
Set pass through port and address to send RTP stream to.
Definition: CpTopologyGraphInterface.cpp:1055
virtual OsStatus limitCodecs(int connectionId, const SdpCodecList &includeOnlyCodecList)
Further restrict the set of codecs to the list provided.
Definition: CpTopologyGraphInterface.cpp:2656
virtual OsStatus recordCircularBufferAudio(const UtlString &resourceName, CircularBufferPtr &buffer, CpMediaInterface::CpAudioFileFormat recordingFormat, unsigned long recordingBufferNotificationWatermark)
Definition: CpTopologyGraphInterface.cpp:2246
virtual OsStatus getVideoFrameRate(int &frameRate)
Definition: CpTopologyGraphInterface.cpp:2950
virtual OsStatus addVideoRtpConnectionDestination(int connectionId, int iPriority, const char *candidateIp, int candidatePort)
Add an alternate Video RTP connection destination for this media interface.
Definition: CpTopologyGraphInterface.cpp:1346
MpInputDeviceManager * mpInputDeviceManager
Definition: CpTopologyGraphInterface.h:757
virtual OsStatus stopRecordChannelAudio(int connectionId)
Stop buffer or file recording which has been started.
Definition: CpTopologyGraphInterface.cpp:2184
virtual OsStatus getVideoBitRate(int &bitRate)
Definition: CpTopologyGraphInterface.cpp:2943
UtlBoolean getRelayAddresses(int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort)
Definition: CpTopologyGraphInterface.cpp:3247
int mLastConnectionId
Definition: CpTopologyGraphInterface.h:749
UtlBoolean getNatedAddresses(int connectionId, UtlString &hostIp, int &rtpAudioPort, int &rtcpAudioPort, int &rtpVideoPort, int &rtcpVideoPort)
Definition: CpTopologyGraphInterface.cpp:3155
virtual OsStatus setConnectionFramerate(int connectionId, int framerate)
Set connection framerate on the fly.
Definition: CpTopologyGraphInterface.cpp:2726
virtual OsStatus createPlaylistPlayer(MpStreamPlaylistPlayer **ppPlayer, OsMsgQ *pMsgQ=NULL, const char *szTarget=NULL)
Deprecated.
Definition: CpTopologyGraphInterface.cpp:2296
virtual OsStatus setMixWeightsForOutput(int bridgeOutputPort, int numWeights, float weights[])
Set gain for inputs to given output on bridge.
Definition: CpTopologyGraphInterface.cpp:4341
virtual UtlBoolean isVideoConferencing()
Query if we are mixing a video conference.
Definition: CpTopologyGraphInterface.h:672
UtlDList mMediaConnections
Definition: CpTopologyGraphInterface.h:753
OsStatus discardLoopbackRtp(CpTopologyMediaConnection *mediaConnection)
Enable discarding of our RTP stream, looped back to us.
Definition: CpTopologyGraphInterface.cpp:4204
virtual UtlBoolean canAddParty()
Query whether a new party can be added to this media interfaces.
Definition: CpTopologyGraphInterface.cpp:3056
UtlString mStunServer
Definition: CpTopologyGraphInterface.h:762
UtlBoolean mEnableIce
Definition: CpTopologyGraphInterface.h:770
virtual OsStatus playChannelAudio(int connectionId, const char *url, UtlBoolean repeat, UtlBoolean local, UtlBoolean remote, UtlBoolean mixWithMic=false, int downScaling=100, UtlBoolean autoStopOnFinish=TRUE)
Definition: CpTopologyGraphInterface.cpp:2016
UtlString mTurnPassword
Definition: CpTopologyGraphInterface.h:769
virtual OsStatus getConnectionOutputLatency(int &latency, MpConnectionID connectionId=-1)
Get a latency of the output part of the RTP or local connection.
Definition: CpTopologyGraphInterface.cpp:3790
CpTopologyMediaConnection * createMediaConnection(int &connectionId, UtlBoolean isMcast)
Create media connection structure to store connection params.
Definition: CpTopologyGraphInterface.cpp:4024
MaNotfTranslatorDispatcher mTranslatorDispatcher
Definition: CpTopologyGraphInterface.h:775
virtual OsStatus stopChannelAudio(int connectionId)
Definition: CpTopologyGraphInterface.cpp:2028
virtual uint32_t getSamplesPerSec()
Returns the sample rate of the flowgraph.
Definition: CpTopologyGraphInterface.cpp:2875
OsStatus setMicWeightOnBridge(float weight)
Set mixing weight from the Mic to all other Bridge ports.
Definition: CpTopologyGraphInterface.cpp:4456
virtual OsStatus enableVideoTransport(int connectionId, UtlBoolean bEnable)
Definition: CpTopologyGraphInterface.h:572
virtual UtlBoolean isAudioInitialized(int connectionId)
Query whether the connection has started sending or receiving audio.
Definition: CpTopologyGraphInterface.cpp:3068
virtual OsStatus setVideoWindowDisplay(const void *hWnd)
Definition: CpTopologyGraphInterface.cpp:3078
virtual OsStatus pauseRecordAudio(const UtlString &resourceName)
Definition: CpTopologyGraphInterface.cpp:2159
virtual OsStatus startRtpSend(int connectionId, int numCodecs, SdpCodec *sendCodec[])
Start sending RTP using the specified codec list.
Definition: CpTopologyGraphInterface.cpp:1468
MpInputDeviceHandle mInputDeviceHandle
Definition: CpTopologyGraphInterface.h:758
Definition: CpTopologyGraphInterface.h:51
UtlHashMap mInterfaceProperties
Definition: CpTopologyGraphInterface.h:774
virtual OsStatus addVideoRtcpConnectionDestination(int connectionId, int iPriority, const char *candidateIp, int candidatePort)
Add an alternate Video RTCP connection destination for this media interface.
Definition: CpTopologyGraphInterface.cpp:1385
virtual OsStatus playAudio(const char *url, UtlBoolean repeat, UtlBoolean local, UtlBoolean remote, UtlBoolean mixWithMic=false, int downScaling=100, UtlBoolean autoStopAfterFinish=TRUE)
Play the specified audio URL to the call.
Definition: CpTopologyGraphInterface.cpp:1879
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.
Definition: CpTopologyGraphInterface.cpp:1916