Index: webrtc/audio/audio_state.h |
diff --git a/webrtc/audio/audio_state.h b/webrtc/audio/audio_state.h |
index 31892d04faaa5141b9e25d9486553da4ce101b11..1a56d3ec26818abb3c8904882d01738971553284 100644 |
--- a/webrtc/audio/audio_state.h |
+++ b/webrtc/audio/audio_state.h |
@@ -11,11 +11,16 @@ |
#ifndef WEBRTC_AUDIO_AUDIO_STATE_H_ |
#define WEBRTC_AUDIO_AUDIO_STATE_H_ |
+#include <memory> |
+ |
+#include "webrtc/api/audio/audio_mixer.h" |
#include "webrtc/api/call/audio_state.h" |
+#include "webrtc/audio/audio_transport_proxy.h" |
#include "webrtc/audio/scoped_voe_interface.h" |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/criticalsection.h" |
#include "webrtc/base/thread_checker.h" |
+#include "webrtc/modules/audio_device/include/audio_device_defines.h" |
#include "webrtc/voice_engine/include/voe_base.h" |
namespace webrtc { |
@@ -28,6 +33,8 @@ class AudioState final : public webrtc::AudioState, |
~AudioState() override; |
VoiceEngine* voice_engine(); |
+ |
+ rtc::scoped_refptr<AudioMixer> mixer() const; |
ossu
2016/11/03 14:02:04
I believe this should just return an AudioMixer& (
aleloi
2016/11/08 11:46:41
We decided to leave the mixer refcounted for the t
|
bool typing_noise_detected() const; |
private: |
@@ -38,6 +45,9 @@ class AudioState final : public webrtc::AudioState, |
// webrtc::VoiceEngineObserver implementation. |
void CallbackOnError(int channel_id, int err_code) override; |
+ // The Audio Device currently connected or nullptr. |
+ AudioDeviceModule* audio_device(); |
+ |
rtc::ThreadChecker thread_checker_; |
rtc::ThreadChecker process_thread_checker_; |
const webrtc::AudioState::Config config_; |
@@ -53,6 +63,10 @@ class AudioState final : public webrtc::AudioState, |
// Reference count; implementation copied from rtc::RefCountedObject. |
mutable volatile int ref_count_ = 0; |
+ // Transports mixed audio from the mixer to the audio device and |
+ // recorded audio to the VoE AudioTransport. |
+ std::unique_ptr<AudioTransportProxy> audio_transport_proxy_; |
ossu
2016/11/03 14:02:04
Why does the AudioTransportProxy need to be alloca
aleloi
2016/11/08 11:46:41
You are right, it doesn't! But now initialization
|
+ |
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioState); |
}; |
} // namespace internal |