summaryrefslogtreecommitdiffstats
path: root/third_party/libjingle/overrides/init_webrtc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libjingle/overrides/init_webrtc.cc')
-rw-r--r--third_party/libjingle/overrides/init_webrtc.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/third_party/libjingle/overrides/init_webrtc.cc b/third_party/libjingle/overrides/init_webrtc.cc
index ab89d58..6db34f6 100644
--- a/third_party/libjingle/overrides/init_webrtc.cc
+++ b/third_party/libjingle/overrides/init_webrtc.cc
@@ -11,6 +11,8 @@
#include "base/metrics/field_trial.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"
@@ -53,6 +55,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
@@ -62,6 +71,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.
@@ -135,7 +145,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);
@@ -160,4 +171,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