1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef CALL_AUDIO_STATE_H_
- #define CALL_AUDIO_STATE_H_
- #include "api/audio/audio_mixer.h"
- #include "api/scoped_refptr.h"
- #include "modules/audio_device/include/audio_device.h"
- #include "modules/audio_processing/include/audio_processing.h"
- #include "rtc_base/ref_count.h"
- namespace webrtc {
- class AudioTransport;
- class AudioState : public rtc::RefCountInterface {
- public:
- struct Config {
- Config();
- ~Config();
-
-
- rtc::scoped_refptr<AudioMixer> audio_mixer;
-
- rtc::scoped_refptr<webrtc::AudioProcessing> audio_processing;
-
- rtc::scoped_refptr<webrtc::AudioDeviceModule> audio_device_module;
- };
- virtual AudioProcessing* audio_processing() = 0;
- virtual AudioTransport* audio_transport() = 0;
-
-
-
-
- virtual void SetPlayout(bool enabled) = 0;
-
-
-
- virtual void SetRecording(bool enabled) = 0;
- virtual void SetStereoChannelSwapping(bool enable) = 0;
- static rtc::scoped_refptr<AudioState> Create(
- const AudioState::Config& config);
- ~AudioState() override {}
- };
- }
- #endif
|