| Index: webrtc/media/engine/webrtcvoiceengine.h
|
| diff --git a/webrtc/media/engine/webrtcvoiceengine.h b/webrtc/media/engine/webrtcvoiceengine.h
|
| index c9798cbc9567a5f32193a38661c9f80df340e390..396e3bbb8c0139f6e397dbb95613924b8093740f 100644
|
| --- a/webrtc/media/engine/webrtcvoiceengine.h
|
| +++ b/webrtc/media/engine/webrtcvoiceengine.h
|
| @@ -19,6 +19,7 @@
|
| #include "webrtc/audio_state.h"
|
| #include "webrtc/base/buffer.h"
|
| #include "webrtc/base/networkroute.h"
|
| +#include "webrtc/base/scoped_ref_ptr.h"
|
| #include "webrtc/base/stream.h"
|
| #include "webrtc/base/thread_checker.h"
|
| #include "webrtc/call.h"
|
| @@ -44,12 +45,10 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
|
| // Exposed for the WVoE/MC unit test.
|
| static bool ToCodecInst(const AudioCodec& in, webrtc::CodecInst* out);
|
|
|
| - WebRtcVoiceEngine();
|
| + explicit WebRtcVoiceEngine(webrtc::AudioDeviceModule* adm);
|
| // Dependency injection for testing.
|
| - explicit WebRtcVoiceEngine(VoEWrapper* voe_wrapper);
|
| - ~WebRtcVoiceEngine();
|
| - bool Init(rtc::Thread* worker_thread);
|
| - void Terminate();
|
| + WebRtcVoiceEngine(webrtc::AudioDeviceModule* adm, VoEWrapper* voe_wrapper);
|
| + ~WebRtcVoiceEngine() override;
|
|
|
| rtc::scoped_refptr<webrtc::AudioState> GetAudioState() const;
|
| VoiceMediaChannel* CreateChannel(webrtc::Call* call,
|
| @@ -76,9 +75,6 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
|
| VoEWrapper* voe() { return voe_wrapper_.get(); }
|
| int GetLastEngineError();
|
|
|
| - // Set the external ADM. This can only be called before Init.
|
| - bool SetAudioDeviceModule(webrtc::AudioDeviceModule* adm);
|
| -
|
| // Starts AEC dump using an existing file. A maximum file size in bytes can be
|
| // specified. When the maximum file size is reached, logging is stopped and
|
| // the file is closed. If max_size_bytes is set to <= 0, no limit will be
|
| @@ -96,8 +92,6 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
|
| void StopRtcEventLog();
|
|
|
| private:
|
| - void Construct();
|
| - bool InitInternal();
|
| // Every option that is "set" will be applied. Every option not "set" will be
|
| // ignored. This allows us to selectively turn on and off different options
|
| // easily at any time.
|
| @@ -113,15 +107,14 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
|
| rtc::ThreadChecker signal_thread_checker_;
|
| rtc::ThreadChecker worker_thread_checker_;
|
|
|
| + // The audio device manager.
|
| + rtc::scoped_refptr<webrtc::AudioDeviceModule> adm_;
|
| // The primary instance of WebRtc VoiceEngine.
|
| std::unique_ptr<VoEWrapper> voe_wrapper_;
|
| rtc::scoped_refptr<webrtc::AudioState> audio_state_;
|
| - // The external audio device manager
|
| - webrtc::AudioDeviceModule* adm_ = nullptr;
|
| std::vector<AudioCodec> codecs_;
|
| std::vector<WebRtcVoiceMediaChannel*> channels_;
|
| webrtc::Config voe_config_;
|
| - bool initialized_ = false;
|
| bool is_dumping_aec_ = false;
|
|
|
| webrtc::AgcConfig default_agc_config_;
|
| @@ -133,7 +126,7 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
|
| rtc::Optional<bool> delay_agnostic_aec_;
|
| rtc::Optional<bool> experimental_ns_;
|
|
|
| - RTC_DISALLOW_COPY_AND_ASSIGN(WebRtcVoiceEngine);
|
| + RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WebRtcVoiceEngine);
|
| };
|
|
|
| // WebRtcVoiceMediaChannel is an implementation of VoiceMediaChannel that uses
|
| @@ -157,8 +150,6 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
| bool PausePlayout();
|
| bool ResumePlayout();
|
| void SetSend(bool send) override;
|
| - bool PauseSend();
|
| - bool ResumeSend();
|
| bool SetAudioSend(uint32_t ssrc,
|
| bool enable,
|
| const AudioOptions* options,
|
|
|