diff options
Diffstat (limited to 'webrtc/audio/audio_receive_stream.h')
-rw-r--r-- | webrtc/audio/audio_receive_stream.h | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/webrtc/audio/audio_receive_stream.h b/webrtc/audio/audio_receive_stream.h index 5d02b0e2ae..4940c6a64c 100644 --- a/webrtc/audio/audio_receive_stream.h +++ b/webrtc/audio/audio_receive_stream.h @@ -12,23 +12,25 @@ #define WEBRTC_AUDIO_AUDIO_RECEIVE_STREAM_H_ #include "webrtc/audio_receive_stream.h" -#include "webrtc/audio/scoped_voe_interface.h" +#include "webrtc/audio_state.h" #include "webrtc/base/thread_checker.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" -#include "webrtc/voice_engine/include/voe_base.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" namespace webrtc { - +class CongestionController; class RemoteBitrateEstimator; -class VoiceEngine; + +namespace voe { +class ChannelProxy; +} // namespace voe namespace internal { class AudioReceiveStream final : public webrtc::AudioReceiveStream { public: - AudioReceiveStream(RemoteBitrateEstimator* remote_bitrate_estimator, + AudioReceiveStream(CongestionController* congestion_controller, const webrtc::AudioReceiveStream::Config& config, - VoiceEngine* voice_engine); + const rtc::scoped_refptr<webrtc::AudioState>& audio_state); ~AudioReceiveStream() override; // webrtc::ReceiveStream implementation. @@ -43,16 +45,19 @@ class AudioReceiveStream final : public webrtc::AudioReceiveStream { // webrtc::AudioReceiveStream implementation. webrtc::AudioReceiveStream::Stats GetStats() const override; + void SetSink(rtc::scoped_ptr<AudioSinkInterface> sink) override; + const webrtc::AudioReceiveStream::Config& config() const; private: + VoiceEngine* voice_engine() const; + rtc::ThreadChecker thread_checker_; - RemoteBitrateEstimator* const remote_bitrate_estimator_; + RemoteBitrateEstimator* remote_bitrate_estimator_ = nullptr; const webrtc::AudioReceiveStream::Config config_; - VoiceEngine* voice_engine_; - // We hold one interface pointer to the VoE to make sure it is kept alive. - ScopedVoEInterface<VoEBase> voe_base_; + rtc::scoped_refptr<webrtc::AudioState> audio_state_; rtc::scoped_ptr<RtpHeaderParser> rtp_header_parser_; + rtc::scoped_ptr<voe::ChannelProxy> channel_proxy_; RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioReceiveStream); }; |