sipxmediaadapterlib  Version 3.3
sipXmediaFactoryImpl.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005-2010 SIPez LLC. All rights reserved.
3 // Licensed to SIPfoundry under a Contributor Agreement.
4 //
5 // Copyright (C) 2004-2008 SIPfoundry Inc.
6 // Licensed by SIPfoundry under the LGPL license.
7 //
8 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
9 // Licensed to SIPfoundry under a Contributor Agreement.
10 //
11 // $$
13 
14 #ifndef _sipXmediaFactoryImpl_h_
15 #define _sipXmediaFactoryImpl_h_
16 
17 // SYSTEM INCLUDES
18 // APPLICATION INCLUDES
20 #include <rtcp/RtcpConfig.h>
21 
22 // DEFINES
23 // MACROS
24 // EXTERNAL FUNCTIONS
25 // EXTERNAL VARIABLES
26 // CONSTANTS
27 // STRUCTS
28 // TYPEDEFS
29 // FORWARD DECLARATIONS
30 class MpMediaTask ;
31 class OsConfigDb ;
32 #ifdef INCLUDE_RTCP /* [ */
33 struct IRTCPControl ;
34 #endif /* INCLUDE_RTCP ] */
35 
36 
41 {
42 /* //////////////////////////// PUBLIC //////////////////////////////////// */
43  public:
44 
45 /* ============================ CREATORS ================================== */
46 
48  sipXmediaFactoryImpl(OsConfigDb* pConfigDb,
49  uint32_t frameSizeMs,
50  uint32_t maxSamplesPerSec,
51  uint32_t defaultSamplesPerSec,
52  UtlBoolean enableLocalAudio,
53  const UtlString &inputDeviceName,
54  const UtlString &outputDeviceName);
91  virtual ~sipXmediaFactoryImpl();
92 
93 /* ============================ MANIPULATORS ============================== */
94  virtual CpMediaInterface* createMediaInterface( const char* publicAddress,
95  const char* localAddress,
96  int numCodecs,
97  SdpCodec* sdpCodecArray[],
98  const char* locale,
99  int expeditedIpTos,
100  const char* szStunServer,
101  int stunOptions,
102  int iStunKeepAliveSecs,
103  const char* szTurnServer,
104  int iTurnPort,
105  const char* szTurnUsername,
106  const char* szTurnPassword,
107  int iTurnKeepAlivePeriodSecs,
108  UtlBoolean bEnableICE,
109  uint32_t samplesPerSec,
110  OsMsgDispatcher* pDispatcher)
111 #ifdef DISABLE_DEFAULT_PHONE_MEDIA_INTERFACE_FACTORY
112  = 0
113 #endif
114  ;
115 
116  virtual OsStatus setSpeakerVolume(int iVolume) ;
117  virtual OsStatus setSpeakerDevice(const UtlString& device) ;
118 
119  virtual OsStatus setMicrophoneGain(int iGain) ;
120  virtual OsStatus setMicrophoneDevice(const UtlString& device) ;
121  virtual OsStatus muteMicrophone(UtlBoolean bMute) ;
122  virtual OsStatus setAudioAECMode(const MEDIA_AEC_MODE mode) ;
123  virtual OsStatus enableAGC(UtlBoolean bEnable) ;
124  virtual OsStatus setAudioNoiseReductionMode(const MEDIA_NOISE_REDUCTION_MODE mode) ;
125 
127  virtual OsStatus buildCodecFactory(SdpCodecList* pFactory,
128  const UtlString& sPreferences,
129  const UtlString& sVideoPreferences,
130  int videoFormat,
131  int* iRejected);
136  virtual OsStatus updateVideoPreviewWindow(void* displayContext) ;
137 
141  virtual OsStatus setVideoPreviewDisplay(void* pDisplay);
142 
143 
144  virtual OsStatus setVideoQuality(int quality);
145  virtual OsStatus setVideoParameters(int bitRate, int frameRate);
146 
147 
148 /* ============================ ACCESSORS ================================= */
149 
150  virtual OsStatus getSpeakerVolume(int& iVolume) const ;
151  virtual OsStatus getSpeakerDevice(UtlString& device) const ;
152  virtual OsStatus getMicrophoneGain(int& iVolume) const ;
153  virtual OsStatus getMicrophoneDevice(UtlString& device) const ;
154 
155  virtual OsStatus getLocalAudioConnectionId(int& connectionId) const ;
156 
157  virtual OsStatus getVideoQuality(int& quality) const;
158  virtual OsStatus getVideoBitRate(int& bitRate) const;
159  virtual OsStatus getVideoFrameRate(int& frameRate) const;
160 
161 /* ============================ INQUIRY =================================== */
162 
163 /* //////////////////////////// PROTECTED ///////////////////////////////// */
164  protected:
165  MpMediaTask* mpMediaTask ;
166  uint32_t mFrameSizeMs; //< The size of the smallest unit of audio that we process on, in milliseconds
167  uint32_t mMaxSamplesPerSec; //< Maximum sample rate that any flowgraph may have set (used for initializing buffers)
168  uint32_t mDefaultSamplesPerSec; //< Default sample rate that flowgraphs and devices may have set
169 #ifdef INCLUDE_RTCP /* [ */
170  IRTCPControl* mpiRTCPControl;
171 #endif /* INCLUDE_RTCP ] */
172 
173 
174 /* //////////////////////////// PRIVATE /////////////////////////////////// */
175  private:
176  static int miInstanceCount;
177 
179  sipXmediaFactoryImpl(const sipXmediaFactoryImpl& refFactoryImpl);
181  sipXmediaFactoryImpl& operator=(const sipXmediaFactoryImpl& refFactoryImpl);
182 };
183 
184 /* ============================ INLINE METHODS ============================ */
185 
186 #endif // _sipXmediaFactoryImpl_h_
virtual OsStatus updateVideoPreviewWindow(void *displayContext)
Update the video preview window given the specified display context.
Definition: sipXmediaFactoryImpl.cpp:419
Definition: sipXmediaFactoryImpl.h:40
sipXmediaFactoryImpl(OsConfigDb *pConfigDb, uint32_t frameSizeMs, uint32_t maxSamplesPerSec, uint32_t defaultSamplesPerSec, UtlBoolean enableLocalAudio, const UtlString &inputDeviceName, const UtlString &outputDeviceName)
Default constructor.
Definition: sipXmediaFactoryImpl.cpp:121
virtual CpMediaInterface * createMediaInterface(const char *publicAddress, const char *localAddress, int numCodecs, SdpCodec *sdpCodecArray[], const char *locale, int expeditedIpTos, const char *szStunServer, int stunOptions, int iStunKeepAliveSecs, const char *szTurnServer, int iTurnPort, const char *szTurnUsername, const char *szTurnPassword, int iTurnKeepAlivePeriodSecs, UtlBoolean bEnableICE, uint32_t samplesPerSec, OsMsgDispatcher *pDispatcher)
Create a media interface given the designated parameters.
Definition: sipXmediaFactoryImpl.cpp:234
sipXmediaFactoryImpl & operator=(const sipXmediaFactoryImpl &refFactoryImpl)
Diabled.
virtual OsStatus setMicrophoneDevice(const UtlString &device)
Set the Microphone device.
Definition: sipXmediaFactoryImpl.cpp:291
virtual OsStatus setSpeakerDevice(const UtlString &device)
Set the speaker device.
Definition: sipXmediaFactoryImpl.cpp:275
MEDIA_NOISE_REDUCTION_MODE
Definition: CpMediaInterfaceFactoryImpl.h:45
uint32_t mMaxSamplesPerSec
Definition: sipXmediaFactoryImpl.h:167
MEDIA_AEC_MODE
Definition: CpMediaInterfaceFactoryImpl.h:37
virtual OsStatus getVideoFrameRate(int &frameRate) const
Definition: sipXmediaFactoryImpl.cpp:489
virtual OsStatus getMicrophoneDevice(UtlString &device) const
Get the microphone device.
Definition: sipXmediaFactoryImpl.cpp:456
virtual OsStatus getSpeakerVolume(int &iVolume) const
Get the speaker volume.
Definition: sipXmediaFactoryImpl.cpp:427
virtual OsStatus getMicrophoneGain(int &iVolume) const
Get the microphone gain.
Definition: sipXmediaFactoryImpl.cpp:448
virtual OsStatus getVideoQuality(int &quality) const
Definition: sipXmediaFactoryImpl.cpp:479
Abstract media control interface.
Definition: CpMediaInterface.h:96
virtual OsStatus getLocalAudioConnectionId(int &connectionId) const
Get the connection id for the local audio connection.
Definition: sipXmediaFactoryImpl.cpp:494
virtual OsStatus buildCodecFactory(SdpCodecList *pFactory, const UtlString &sPreferences, const UtlString &sVideoPreferences, int videoFormat, int *iRejected)
Populate the codec factory, return number of rejected codecs.
Definition: sipXmediaFactoryImpl.cpp:357
virtual ~sipXmediaFactoryImpl()
Definition: sipXmediaFactoryImpl.cpp:213
virtual OsStatus enableAGC(UtlBoolean bEnable)
Enable AGC Status.
Definition: sipXmediaFactoryImpl.cpp:326
MpMediaTask * mpMediaTask
Definition: sipXmediaFactoryImpl.h:165
virtual OsStatus getVideoBitRate(int &bitRate) const
Definition: sipXmediaFactoryImpl.cpp:484
uint32_t mFrameSizeMs
Definition: sipXmediaFactoryImpl.h:166
uint32_t mDefaultSamplesPerSec
Definition: sipXmediaFactoryImpl.h:168
virtual OsStatus muteMicrophone(UtlBoolean bMute)
Mute the microphone.
Definition: sipXmediaFactoryImpl.cpp:301
static int miInstanceCount
Definition: sipXmediaFactoryImpl.h:176
virtual OsStatus setMicrophoneGain(int iGain)
Set the microphone gain. Valid range includes 0 to 10.
Definition: sipXmediaFactoryImpl.cpp:282
virtual OsStatus setVideoPreviewDisplay(void *pDisplay)
Definition: sipXmediaFactoryImpl.cpp:464
virtual OsStatus setSpeakerVolume(int iVolume)
Set the speaker volume. Valid range includes 0 to 50.
Definition: sipXmediaFactoryImpl.cpp:267
virtual OsStatus setVideoParameters(int bitRate, int frameRate)
Set the global video parameters.
Definition: sipXmediaFactoryImpl.cpp:474
Definition: CpMediaInterfaceFactoryImpl.h:61
virtual OsStatus setVideoQuality(int quality)
Set the global video quality.
Definition: sipXmediaFactoryImpl.cpp:469
virtual OsStatus setAudioNoiseReductionMode(const MEDIA_NOISE_REDUCTION_MODE mode)
Enable/Disable Noise Reduction.
Definition: sipXmediaFactoryImpl.cpp:338
virtual OsStatus setAudioAECMode(const MEDIA_AEC_MODE mode)
Enable/Disable echo cancellation.
Definition: sipXmediaFactoryImpl.cpp:314
virtual OsStatus getSpeakerDevice(UtlString &device) const
Get the speaker device.
Definition: sipXmediaFactoryImpl.cpp:440