Index: third_party/libjingle/overrides/init_webrtc.cc |
diff --git a/third_party/libjingle/overrides/init_webrtc.cc b/third_party/libjingle/overrides/init_webrtc.cc |
index 041fb20b05c1caa00fbf41aff20fc6dbeb96e51c..b160cbb1bf1ed37128f436982476b5ba425355c4 100644 |
--- a/third_party/libjingle/overrides/init_webrtc.cc |
+++ b/third_party/libjingle/overrides/init_webrtc.cc |
@@ -12,6 +12,8 @@ |
#include "base/metrics/histogram.h" |
#include "base/native_library.h" |
#include "base/path_service.h" |
+#include "third_party/webrtc/common.h" |
+#include "third_party/webrtc/modules/audio_processing/include/audio_processing.h" |
#include "webrtc/base/basictypes.h" |
#include "webrtc/base/logging.h" |
@@ -80,6 +82,13 @@ bool InitializeWebRtcModule() { |
return true; |
} |
+webrtc::AudioProcessing* CreateWebRtcAudioProcessing( |
+ const webrtc::Config& config) { |
+ // libpeerconnection is being compiled as a static lib, use |
+ // webrtc::AudioProcessing directly. |
+ return webrtc::AudioProcessing::Create(config); |
+} |
+ |
#else // !LIBPEERCONNECTION_LIB |
// When being compiled as a shared library, we need to bridge the gap between |
@@ -89,6 +98,7 @@ bool InitializeWebRtcModule() { |
// Global function pointers to the factory functions in the shared library. |
CreateWebRtcMediaEngineFunction g_create_webrtc_media_engine = NULL; |
DestroyWebRtcMediaEngineFunction g_destroy_webrtc_media_engine = NULL; |
+CreateWebRtcAudioProcessingFunction g_create_webrtc_audio_processing = NULL; |
// Returns the full or relative path to the libpeerconnection module depending |
// on what platform we're on. |
@@ -165,8 +175,8 @@ bool InitializeWebRtcModule() { |
&AddTraceEvent, |
&g_create_webrtc_media_engine, |
&g_destroy_webrtc_media_engine, |
- &init_diagnostic_logging); |
- |
+ &init_diagnostic_logging, |
+ &g_create_webrtc_audio_processing); |
if (init_ok) |
rtc::SetExtraLoggingInit(init_diagnostic_logging); |
return init_ok; |
@@ -190,4 +200,12 @@ void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) { |
g_destroy_webrtc_media_engine(media_engine); |
} |
+webrtc::AudioProcessing* CreateWebRtcAudioProcessing( |
+ const webrtc::Config& config) { |
+ // The same as CreateWebRtcMediaEngine(), we call InitializeWebRtcModule here |
+ // for convenience of tests. |
+ InitializeWebRtcModule(); |
+ return g_create_webrtc_audio_processing(config); |
+} |
+ |
#endif // LIBPEERCONNECTION_LIB |