#ifndef THIRD_PARTY_LIBJINGLE_OVERRIDES_INIT_WEBRTC_H_
#define THIRD_PARTY_LIBJINGLE_OVERRIDES_INIT_WEBRTC_H_
+#include <string>
+
#include "allocator_shim/allocator_stub.h"
#include "base/logging.h"
#include "third_party/webrtc/system_wrappers/interface/event_tracer.h"
namespace webrtc {
class AudioDeviceModule;
+class AudioProcessing;
+class Config;
} // namespace webrtc
typedef std::string (*FieldTrialFindFullName)(const std::string& trial_name);
typedef void (*InitDiagnosticLoggingDelegateFunctionFunction)(
void (*DelegateFunction)(const std::string&));
+typedef webrtc::AudioProcessing* (*CreateWebRtcAudioProcessingFunction)(
+ const webrtc::Config& config);
+
// A typedef for the main initialize function in libpeerconnection.
// This will initialize logging in the module with the proper arguments
// as well as provide pointers back to a couple webrtc factory functions.
webrtc::AddTraceEventPtr trace_add_trace_event,
CreateWebRtcMediaEngineFunction* create_media_engine,
DestroyWebRtcMediaEngineFunction* destroy_media_engine,
- InitDiagnosticLoggingDelegateFunctionFunction* init_diagnostic_logging);
+ InitDiagnosticLoggingDelegateFunctionFunction* init_diagnostic_logging,
+ CreateWebRtcAudioProcessingFunction* create_audio_processing);
#if !defined(LIBPEERCONNECTION_IMPLEMENTATION)
// Load and initialize the shared WebRTC module (libpeerconnection).
// If not called explicitly, this function will still be called from the main
// CreateWebRtcMediaEngine factory function the first time it is called.
bool InitializeWebRtcModule();
+
+// Return a webrtc::AudioProcessing object.
+webrtc::AudioProcessing* CreateWebRtcAudioProcessing(
+ const webrtc::Config& config);
+
#endif
#endif // THIRD_PARTY_LIBJINGLE_OVERRIDES_INIT_WEBRTC_H_