From f4673f97ede73f6a9c87dd6fb61a60544168afbf Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Fri, 19 Apr 2024 19:46:03 +0000 Subject: [PATCH] Move webrtc::AudioDeviceModule include to api/ folder Bug: webrtc:15874 Change-Id: I5bdb19d5e710838b41e6ca283d406c9f1f21286b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348060 Reviewed-by: Harald Alvestrand Reviewed-by: Henrik Andreassson Commit-Queue: Florent Castelli Cr-Commit-Position: refs/heads/main@{#42137} --- api/BUILD.gn | 2 +- api/DEPS | 4 + api/audio/BUILD.gn | 16 ++ api/audio/audio_device.h | 194 ++++++++++++++++++ api/audio/audio_device_defines.h | 178 ++++++++++++++++ api/create_peerconnection_factory.cc | 2 +- api/create_peerconnection_factory.h | 2 +- api/voip/BUILD.gn | 2 +- api/voip/voip_engine_factory.h | 2 +- audio/BUILD.gn | 6 +- audio/audio_state.cc | 2 +- audio/audio_transport_impl.h | 2 +- audio/channel_receive.cc | 2 +- audio/channel_receive_unittest.cc | 2 +- audio/test/audio_end_to_end_test.h | 2 +- audio/voip/BUILD.gn | 3 +- audio/voip/voip_core.h | 2 +- call/BUILD.gn | 2 + call/audio_state.h | 2 +- call/call_perf_tests.cc | 2 +- examples/BUILD.gn | 1 + examples/peerconnection/client/conductor.cc | 2 +- media/BUILD.gn | 1 + media/base/media_engine.h | 1 - media/engine/adm_helpers.cc | 2 +- media/engine/webrtc_voice_engine.h | 2 +- modules/audio_device/BUILD.gn | 28 +-- modules/audio_device/audio_device_buffer.h | 2 +- .../audio_device_data_observer.cc | 2 +- modules/audio_device/audio_device_generic.h | 4 +- modules/audio_device/audio_device_impl.h | 2 +- modules/audio_device/audio_device_unittest.cc | 2 +- .../audio_device/dummy/audio_device_dummy.h | 4 +- modules/audio_device/include/audio_device.h | 182 +--------------- .../include/audio_device_data_observer.h | 2 +- .../include/audio_device_default.h | 2 +- .../include/audio_device_defines.h | 165 +-------------- .../include/audio_device_factory.h | 2 +- .../audio_device/include/fake_audio_device.h | 2 +- .../audio_device/include/mock_audio_device.h | 2 +- .../include/mock_audio_transport.h | 2 +- .../audio_device/include/test_audio_device.h | 4 +- .../include/test_audio_device_unittest.cc | 2 +- .../linux/audio_device_pulse_linux.h | 4 +- .../linux/audio_mixer_manager_alsa_linux.h | 2 +- .../mac/audio_mixer_manager_mac.h | 2 +- modules/audio_device/test_audio_device_impl.h | 4 +- .../test_audio_device_impl_test.cc | 4 +- .../win/audio_device_module_win.cc | 2 +- .../win/audio_device_module_win.h | 2 +- .../audio_device/win/core_audio_utility_win.h | 2 +- pc/BUILD.gn | 9 +- pc/peer_connection_bundle_unittest.cc | 2 +- pc/peer_connection_crypto_unittest.cc | 2 +- pc/peer_connection_factory_unittest.cc | 2 +- pc/peer_connection_ice_unittest.cc | 2 +- pc/peer_connection_interface_unittest.cc | 2 +- pc/peer_connection_internal.h | 2 +- pc/peer_connection_jsep_unittest.cc | 2 +- pc/peer_connection_rampup_tests.cc | 2 +- pc/peer_connection_rtp_unittest.cc | 2 +- pc/peer_connection_signaling_unittest.cc | 2 +- pc/peer_connection_simulcast_unittest.cc | 2 +- pc/rtc_stats_collector.cc | 2 +- pc/rtc_stats_collector.h | 2 +- pc/rtc_stats_collector_unittest.cc | 2 +- pc/sdp_offer_answer_unittest.cc | 2 +- pc/test/fake_audio_capture_module.h | 4 +- pc/test/integration_test_helpers.h | 2 +- pc/test/mock_peer_connection_internal.h | 2 +- pc/test/peer_connection_test_wrapper.cc | 2 +- sdk/BUILD.gn | 12 +- sdk/android/BUILD.gn | 10 +- .../audio_device_android.h | 2 +- .../audio_device/audio_device_unittest.cc | 2 +- .../src/jni/audio_device/aaudio_player.h | 2 +- .../src/jni/audio_device/aaudio_recorder.h | 2 +- .../src/jni/audio_device/aaudio_wrapper.h | 2 +- .../jni/audio_device/audio_device_module.h | 2 +- .../src/jni/audio_device/audio_record_jni.h | 2 +- .../src/jni/audio_device/audio_track_jni.h | 2 +- .../src/jni/audio_device/opensles_player.h | 2 +- .../src/jni/audio_device/opensles_recorder.h | 2 +- .../src/jni/pc/peer_connection_factory.cc | 2 +- .../RTCPeerConnectionFactory.mm | 2 +- .../RTCPeerConnectionFactoryBuilder.mm | 2 +- sdk/objc/native/api/audio_device_module.h | 2 +- .../native/api/objc_audio_device_module.h | 2 +- .../src/audio/audio_device_module_ios.h | 2 +- sdk/objc/native/src/objc_audio_device.h | 2 +- .../RTCPeerConnectionFactoryBuilderTest.mm | 2 +- test/BUILD.gn | 2 +- test/call_test.cc | 2 +- test/call_test.h | 2 +- test/scenario/BUILD.gn | 1 + test/scenario/call_client.h | 2 +- video/BUILD.gn | 2 +- video/video_quality_test.cc | 2 +- webrtc_lib_link_test.cc | 2 +- 99 files changed, 525 insertions(+), 466 deletions(-) create mode 100644 api/audio/audio_device.h create mode 100644 api/audio/audio_device_defines.h diff --git a/api/BUILD.gn b/api/BUILD.gn index 2b484f8d8c..152f2cbc9d 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -80,12 +80,12 @@ if (!build_with_chromium) { ":libjingle_peerconnection_api", ":scoped_refptr", "../api/rtc_event_log:rtc_event_log_factory", - "../modules/audio_device:audio_device_api", "../pc:peer_connection_factory", "../pc:webrtc_sdp", "../rtc_base:threading", "../rtc_base/system:rtc_export", "../stats:rtc_stats", + "audio:audio_device", "audio:audio_mixer_api", "audio:audio_processing", "audio_codecs:audio_codecs_api", diff --git a/api/DEPS b/api/DEPS index 0536d70971..b34925e454 100644 --- a/api/DEPS +++ b/api/DEPS @@ -75,6 +75,10 @@ specific_include_rules = { "+rtc_base/socket_address.h", ], + "audio_device_defines\.h": [ + "+rtc_base/strings/string_builder.h", + ], + "candidate\.h": [ "+rtc_base/network_constants.h", "+rtc_base/socket_address.h", diff --git a/api/audio/BUILD.gn b/api/audio/BUILD.gn index 2fc4b1979c..de654c7b03 100644 --- a/api/audio/BUILD.gn +++ b/api/audio/BUILD.gn @@ -8,6 +8,22 @@ import("../../webrtc.gni") +rtc_source_set("audio_device") { + visibility = [ "*" ] + sources = [ + "audio_device.h", + "audio_device_defines.h", + ] + deps = [ + "..:ref_count", + "..:scoped_refptr", + "../../rtc_base:checks", + "../../rtc_base:stringutils", + "../task_queue", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] +} + rtc_library("audio_frame_api") { visibility = [ "*" ] sources = [ diff --git a/api/audio/audio_device.h b/api/audio/audio_device.h new file mode 100644 index 0000000000..65e5c5f5d2 --- /dev/null +++ b/api/audio/audio_device.h @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_AUDIO_AUDIO_DEVICE_H_ +#define API_AUDIO_AUDIO_DEVICE_H_ + +#include "absl/types/optional.h" +#include "api/audio/audio_device_defines.h" +#include "api/ref_count.h" +#include "api/scoped_refptr.h" +#include "api/task_queue/task_queue_factory.h" + +namespace webrtc { + +class AudioDeviceModuleForTest; + +class AudioDeviceModule : public webrtc::RefCountInterface { + public: + enum AudioLayer { + kPlatformDefaultAudio = 0, + kWindowsCoreAudio, + kWindowsCoreAudio2, + kLinuxAlsaAudio, + kLinuxPulseAudio, + kAndroidJavaAudio, + kAndroidOpenSLESAudio, + kAndroidJavaInputAndOpenSLESOutputAudio, + kAndroidAAudioAudio, + kAndroidJavaInputAndAAudioOutputAudio, + kDummyAudio, + }; + + enum WindowsDeviceType { + kDefaultCommunicationDevice = -1, + kDefaultDevice = -2 + }; + + struct Stats { + // The fields below correspond to similarly-named fields in the WebRTC stats + // spec. https://w3c.github.io/webrtc-stats/#playoutstats-dict* + double synthesized_samples_duration_s = 0; + uint64_t synthesized_samples_events = 0; + double total_samples_duration_s = 0; + double total_playout_delay_s = 0; + uint64_t total_samples_count = 0; + }; + + public: + // Creates a default ADM for usage in production code. + static rtc::scoped_refptr Create( + AudioLayer audio_layer, + TaskQueueFactory* task_queue_factory); + // Creates an ADM with support for extra test methods. Don't use this factory + // in production code. + static rtc::scoped_refptr CreateForTest( + AudioLayer audio_layer, + TaskQueueFactory* task_queue_factory); + + // Retrieve the currently utilized audio layer + virtual int32_t ActiveAudioLayer(AudioLayer* audioLayer) const = 0; + + // Full-duplex transportation of PCM audio + virtual int32_t RegisterAudioCallback(AudioTransport* audioCallback) = 0; + + // Main initialization and termination + virtual int32_t Init() = 0; + virtual int32_t Terminate() = 0; + virtual bool Initialized() const = 0; + + // Device enumeration + virtual int16_t PlayoutDevices() = 0; + virtual int16_t RecordingDevices() = 0; + virtual int32_t PlayoutDeviceName(uint16_t index, + char name[kAdmMaxDeviceNameSize], + char guid[kAdmMaxGuidSize]) = 0; + virtual int32_t RecordingDeviceName(uint16_t index, + char name[kAdmMaxDeviceNameSize], + char guid[kAdmMaxGuidSize]) = 0; + + // Device selection + virtual int32_t SetPlayoutDevice(uint16_t index) = 0; + virtual int32_t SetPlayoutDevice(WindowsDeviceType device) = 0; + virtual int32_t SetRecordingDevice(uint16_t index) = 0; + virtual int32_t SetRecordingDevice(WindowsDeviceType device) = 0; + + // Audio transport initialization + virtual int32_t PlayoutIsAvailable(bool* available) = 0; + virtual int32_t InitPlayout() = 0; + virtual bool PlayoutIsInitialized() const = 0; + virtual int32_t RecordingIsAvailable(bool* available) = 0; + virtual int32_t InitRecording() = 0; + virtual bool RecordingIsInitialized() const = 0; + + // Audio transport control + virtual int32_t StartPlayout() = 0; + virtual int32_t StopPlayout() = 0; + virtual bool Playing() const = 0; + virtual int32_t StartRecording() = 0; + virtual int32_t StopRecording() = 0; + virtual bool Recording() const = 0; + + // Audio mixer initialization + virtual int32_t InitSpeaker() = 0; + virtual bool SpeakerIsInitialized() const = 0; + virtual int32_t InitMicrophone() = 0; + virtual bool MicrophoneIsInitialized() const = 0; + + // Speaker volume controls + virtual int32_t SpeakerVolumeIsAvailable(bool* available) = 0; + virtual int32_t SetSpeakerVolume(uint32_t volume) = 0; + virtual int32_t SpeakerVolume(uint32_t* volume) const = 0; + virtual int32_t MaxSpeakerVolume(uint32_t* maxVolume) const = 0; + virtual int32_t MinSpeakerVolume(uint32_t* minVolume) const = 0; + + // Microphone volume controls + virtual int32_t MicrophoneVolumeIsAvailable(bool* available) = 0; + virtual int32_t SetMicrophoneVolume(uint32_t volume) = 0; + virtual int32_t MicrophoneVolume(uint32_t* volume) const = 0; + virtual int32_t MaxMicrophoneVolume(uint32_t* maxVolume) const = 0; + virtual int32_t MinMicrophoneVolume(uint32_t* minVolume) const = 0; + + // Speaker mute control + virtual int32_t SpeakerMuteIsAvailable(bool* available) = 0; + virtual int32_t SetSpeakerMute(bool enable) = 0; + virtual int32_t SpeakerMute(bool* enabled) const = 0; + + // Microphone mute control + virtual int32_t MicrophoneMuteIsAvailable(bool* available) = 0; + virtual int32_t SetMicrophoneMute(bool enable) = 0; + virtual int32_t MicrophoneMute(bool* enabled) const = 0; + + // Stereo support + virtual int32_t StereoPlayoutIsAvailable(bool* available) const = 0; + virtual int32_t SetStereoPlayout(bool enable) = 0; + virtual int32_t StereoPlayout(bool* enabled) const = 0; + virtual int32_t StereoRecordingIsAvailable(bool* available) const = 0; + virtual int32_t SetStereoRecording(bool enable) = 0; + virtual int32_t StereoRecording(bool* enabled) const = 0; + + // Playout delay + virtual int32_t PlayoutDelay(uint16_t* delayMS) const = 0; + + // Only supported on Android. + virtual bool BuiltInAECIsAvailable() const = 0; + virtual bool BuiltInAGCIsAvailable() const = 0; + virtual bool BuiltInNSIsAvailable() const = 0; + + // Enables the built-in audio effects. Only supported on Android. + virtual int32_t EnableBuiltInAEC(bool enable) = 0; + virtual int32_t EnableBuiltInAGC(bool enable) = 0; + virtual int32_t EnableBuiltInNS(bool enable) = 0; + + // Play underrun count. Only supported on Android. + // TODO(alexnarest): Make it abstract after upstream projects support it. + virtual int32_t GetPlayoutUnderrunCount() const { return -1; } + + // Used to generate RTC stats. If not implemented, RTCAudioPlayoutStats will + // not be present in the stats. + virtual absl::optional GetStats() const { return absl::nullopt; } + +// Only supported on iOS. +#if defined(WEBRTC_IOS) + virtual int GetPlayoutAudioParameters(AudioParameters* params) const = 0; + virtual int GetRecordAudioParameters(AudioParameters* params) const = 0; +#endif // WEBRTC_IOS + + protected: + ~AudioDeviceModule() override {} +}; + +// Extends the default ADM interface with some extra test methods. +// Intended for usage in tests only and requires a unique factory method. +class AudioDeviceModuleForTest : public AudioDeviceModule { + public: + // Triggers internal restart sequences of audio streaming. Can be used by + // tests to emulate events corresponding to e.g. removal of an active audio + // device or other actions which causes the stream to be disconnected. + virtual int RestartPlayoutInternally() = 0; + virtual int RestartRecordingInternally() = 0; + + virtual int SetPlayoutSampleRate(uint32_t sample_rate) = 0; + virtual int SetRecordingSampleRate(uint32_t sample_rate) = 0; +}; + +} // namespace webrtc + +#endif // API_AUDIO_AUDIO_DEVICE_H_ diff --git a/api/audio/audio_device_defines.h b/api/audio/audio_device_defines.h new file mode 100644 index 0000000000..304b876bea --- /dev/null +++ b/api/audio/audio_device_defines.h @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_AUDIO_AUDIO_DEVICE_DEFINES_H_ +#define API_AUDIO_AUDIO_DEVICE_DEFINES_H_ + +#include + +#include +#include + +#include "absl/types/optional.h" +#include "rtc_base/strings/string_builder.h" + +namespace webrtc { + +static const int kAdmMaxDeviceNameSize = 128; +static const int kAdmMaxFileNameSize = 512; +static const int kAdmMaxGuidSize = 128; + +static const int kAdmMinPlayoutBufferSizeMs = 10; +static const int kAdmMaxPlayoutBufferSizeMs = 250; + +// ---------------------------------------------------------------------------- +// AudioTransport +// ---------------------------------------------------------------------------- + +class AudioTransport { + public: + // TODO(bugs.webrtc.org/13620) Deprecate this function + virtual int32_t RecordedDataIsAvailable(const void* audioSamples, + size_t nSamples, + size_t nBytesPerSample, + size_t nChannels, + uint32_t samplesPerSec, + uint32_t totalDelayMS, + int32_t clockDrift, + uint32_t currentMicLevel, + bool keyPressed, + uint32_t& newMicLevel) = 0; // NOLINT + + virtual int32_t RecordedDataIsAvailable( + const void* audioSamples, + size_t nSamples, + size_t nBytesPerSample, + size_t nChannels, + uint32_t samplesPerSec, + uint32_t totalDelayMS, + int32_t clockDrift, + uint32_t currentMicLevel, + bool keyPressed, + uint32_t& newMicLevel, + absl::optional estimatedCaptureTimeNS) { // NOLINT + // TODO(webrtc:13620) Make the default behaver of the new API to behave as + // the old API. This can be pure virtual if all uses of the old API is + // removed. + return RecordedDataIsAvailable( + audioSamples, nSamples, nBytesPerSample, nChannels, samplesPerSec, + totalDelayMS, clockDrift, currentMicLevel, keyPressed, newMicLevel); + } + + // Implementation has to setup safe values for all specified out parameters. + virtual int32_t NeedMorePlayData(size_t nSamples, + size_t nBytesPerSample, + size_t nChannels, + uint32_t samplesPerSec, + void* audioSamples, + size_t& nSamplesOut, // NOLINT + int64_t* elapsed_time_ms, + int64_t* ntp_time_ms) = 0; // NOLINT + + // Method to pull mixed render audio data from all active VoE channels. + // The data will not be passed as reference for audio processing internally. + virtual void PullRenderData(int bits_per_sample, + int sample_rate, + size_t number_of_channels, + size_t number_of_frames, + void* audio_data, + int64_t* elapsed_time_ms, + int64_t* ntp_time_ms) = 0; + + protected: + virtual ~AudioTransport() {} +}; + +// Helper class for storage of fundamental audio parameters such as sample rate, +// number of channels, native buffer size etc. +// Note that one audio frame can contain more than one channel sample and each +// sample is assumed to be a 16-bit PCM sample. Hence, one audio frame in +// stereo contains 2 * (16/8) = 4 bytes of data. +class AudioParameters { + public: + // This implementation does only support 16-bit PCM samples. + static const size_t kBitsPerSample = 16; + AudioParameters() + : sample_rate_(0), + channels_(0), + frames_per_buffer_(0), + frames_per_10ms_buffer_(0) {} + AudioParameters(int sample_rate, size_t channels, size_t frames_per_buffer) + : sample_rate_(sample_rate), + channels_(channels), + frames_per_buffer_(frames_per_buffer), + frames_per_10ms_buffer_(static_cast(sample_rate / 100)) {} + void reset(int sample_rate, size_t channels, size_t frames_per_buffer) { + sample_rate_ = sample_rate; + channels_ = channels; + frames_per_buffer_ = frames_per_buffer; + frames_per_10ms_buffer_ = static_cast(sample_rate / 100); + } + size_t bits_per_sample() const { return kBitsPerSample; } + void reset(int sample_rate, size_t channels, double buffer_duration) { + reset(sample_rate, channels, + static_cast(sample_rate * buffer_duration + 0.5)); + } + void reset(int sample_rate, size_t channels) { + reset(sample_rate, channels, static_cast(0)); + } + int sample_rate() const { return sample_rate_; } + size_t channels() const { return channels_; } + size_t frames_per_buffer() const { return frames_per_buffer_; } + size_t frames_per_10ms_buffer() const { return frames_per_10ms_buffer_; } + size_t GetBytesPerFrame() const { return channels_ * kBitsPerSample / 8; } + size_t GetBytesPerBuffer() const { + return frames_per_buffer_ * GetBytesPerFrame(); + } + // The WebRTC audio device buffer (ADB) only requires that the sample rate + // and number of channels are configured. Hence, to be "valid", only these + // two attributes must be set. + bool is_valid() const { return ((sample_rate_ > 0) && (channels_ > 0)); } + // Most platforms also require that a native buffer size is defined. + // An audio parameter instance is considered to be "complete" if it is both + // "valid" (can be used by the ADB) and also has a native frame size. + bool is_complete() const { return (is_valid() && (frames_per_buffer_ > 0)); } + size_t GetBytesPer10msBuffer() const { + return frames_per_10ms_buffer_ * GetBytesPerFrame(); + } + double GetBufferSizeInMilliseconds() const { + if (sample_rate_ == 0) + return 0.0; + return frames_per_buffer_ / (sample_rate_ / 1000.0); + } + double GetBufferSizeInSeconds() const { + if (sample_rate_ == 0) + return 0.0; + return static_cast(frames_per_buffer_) / (sample_rate_); + } + std::string ToString() const { + char ss_buf[1024]; + rtc::SimpleStringBuilder ss(ss_buf); + ss << "AudioParameters: "; + ss << "sample_rate=" << sample_rate() << ", channels=" << channels(); + ss << ", frames_per_buffer=" << frames_per_buffer(); + ss << ", frames_per_10ms_buffer=" << frames_per_10ms_buffer(); + ss << ", bytes_per_frame=" << GetBytesPerFrame(); + ss << ", bytes_per_buffer=" << GetBytesPerBuffer(); + ss << ", bytes_per_10ms_buffer=" << GetBytesPer10msBuffer(); + ss << ", size_in_ms=" << GetBufferSizeInMilliseconds(); + return ss.str(); + } + + private: + int sample_rate_; + size_t channels_; + size_t frames_per_buffer_; + size_t frames_per_10ms_buffer_; +}; + +} // namespace webrtc + +#endif // API_AUDIO_AUDIO_DEVICE_DEFINES_H_ diff --git a/api/create_peerconnection_factory.cc b/api/create_peerconnection_factory.cc index 42bfa60855..46105a2021 100644 --- a/api/create_peerconnection_factory.cc +++ b/api/create_peerconnection_factory.cc @@ -13,6 +13,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/enable_media.h" #include "api/peer_connection_interface.h" @@ -20,7 +21,6 @@ #include "api/scoped_refptr.h" #include "api/task_queue/default_task_queue_factory.h" #include "api/transport/field_trial_based_config.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/api/create_peerconnection_factory.h b/api/create_peerconnection_factory.h index adb4de9279..18febb69f1 100644 --- a/api/create_peerconnection_factory.h +++ b/api/create_peerconnection_factory.h @@ -13,6 +13,7 @@ #include +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory.h" @@ -33,7 +34,6 @@ class Thread; namespace webrtc { -class AudioDeviceModule; class AudioFrameProcessor; // Create a new instance of PeerConnectionFactoryInterface with optional video diff --git a/api/voip/BUILD.gn b/api/voip/BUILD.gn index f175c307c1..7cf9a7abf1 100644 --- a/api/voip/BUILD.gn +++ b/api/voip/BUILD.gn @@ -40,8 +40,8 @@ rtc_library("voip_engine_factory") { ":voip_api", "..:scoped_refptr", "../../audio/voip:voip_core", - "../../modules/audio_device:audio_device_api", "../../rtc_base:logging", + "../audio:audio_device", "../audio:audio_processing", "../audio_codecs:audio_codecs_api", "../task_queue", diff --git a/api/voip/voip_engine_factory.h b/api/voip/voip_engine_factory.h index 3abced7b10..1972fcdf99 100644 --- a/api/voip/voip_engine_factory.h +++ b/api/voip/voip_engine_factory.h @@ -13,13 +13,13 @@ #include +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory.h" #include "api/audio_codecs/audio_encoder_factory.h" #include "api/scoped_refptr.h" #include "api/task_queue/task_queue_factory.h" #include "api/voip/voip_engine.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/audio/BUILD.gn b/audio/BUILD.gn index 07a0006757..ef5ec3d3b2 100644 --- a/audio/BUILD.gn +++ b/audio/BUILD.gn @@ -49,6 +49,7 @@ rtc_library("audio") { "../api:sequence_checker", "../api:transport_api", "../api/audio:aec3_factory", + "../api/audio:audio_device", "../api/audio:audio_frame_api", "../api/audio:audio_frame_processor", "../api/audio:audio_mixer_api", @@ -130,10 +131,10 @@ if (rtc_include_tests) { deps = [ ":audio", "../api:simulated_network_api", + "../api/audio:audio_device", "../api/task_queue", "../call:fake_network", "../call:simulated_network", - "../modules/audio_device:audio_device_api", "../modules/audio_device:test_audio_device_module", "../system_wrappers", "../test:test_common", @@ -191,7 +192,6 @@ if (rtc_include_tests) { "../call:rtp_sender", "../common_audio", "../logging:mocks", - "../modules/audio_device:audio_device_api", "../modules/audio_device:audio_device_impl", # For TestAudioDeviceModule "../modules/audio_device:mock_audio_device", "../modules/audio_mixer:audio_mixer_impl", @@ -235,11 +235,11 @@ if (rtc_include_tests) { deps = [ ":audio", "../api:mock_frame_transformer", + "../api/audio:audio_device", "../api/audio_codecs:builtin_audio_decoder_factory", "../api/crypto:frame_decryptor_interface", "../api/task_queue:default_task_queue_factory", "../logging:mocks", - "../modules/audio_device:audio_device_api", "../modules/audio_device:mock_audio_device", "../modules/rtp_rtcp", "../modules/rtp_rtcp:rtp_rtcp_format", diff --git a/audio/audio_state.cc b/audio/audio_state.cc index 6f20e7b128..a0861eef6b 100644 --- a/audio/audio_state.cc +++ b/audio/audio_state.cc @@ -15,12 +15,12 @@ #include #include +#include "api/audio/audio_device.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_base.h" #include "api/units/time_delta.h" #include "audio/audio_receive_stream.h" #include "audio/audio_send_stream.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" diff --git a/audio/audio_transport_impl.h b/audio/audio_transport_impl.h index d7a4b7db2a..3012cc2248 100644 --- a/audio/audio_transport_impl.h +++ b/audio/audio_transport_impl.h @@ -14,12 +14,12 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/scoped_refptr.h" #include "common_audio/resampler/include/push_resampler.h" #include "modules/async_audio_processing/async_audio_processing.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/thread_annotations.h" diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc index 17cf859ed8..dc34d187a9 100644 --- a/audio/channel_receive.cc +++ b/audio/channel_receive.cc @@ -17,6 +17,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/crypto/frame_decryptor_interface.h" #include "api/frame_transformer_interface.h" #include "api/rtc_event_log/rtc_event_log.h" @@ -32,7 +33,6 @@ #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h" #include "modules/audio_coding/acm2/acm_receiver.h" #include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/pacing/packet_router.h" #include "modules/rtp_rtcp/include/receive_statistics.h" #include "modules/rtp_rtcp/include/remote_ntp_time_estimator.h" diff --git a/audio/channel_receive_unittest.cc b/audio/channel_receive_unittest.cc index 8ca1e9e32b..47ec37c428 100644 --- a/audio/channel_receive_unittest.cc +++ b/audio/channel_receive_unittest.cc @@ -11,12 +11,12 @@ #include "audio/channel_receive.h" #include "absl/strings/escaping.h" +#include "api/audio/audio_device.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/crypto/frame_decryptor_interface.h" #include "api/task_queue/default_task_queue_factory.h" #include "api/test/mock_frame_transformer.h" #include "logging/rtc_event_log/mock/mock_rtc_event_log.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/mock_audio_device.h" #include "modules/rtp_rtcp/source/byte_io.h" #include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h" diff --git a/audio/test/audio_end_to_end_test.h b/audio/test/audio_end_to_end_test.h index d326b790ff..a5a6397c18 100644 --- a/audio/test/audio_end_to_end_test.h +++ b/audio/test/audio_end_to_end_test.h @@ -14,9 +14,9 @@ #include #include +#include "api/audio/audio_device.h" #include "api/task_queue/task_queue_base.h" #include "api/test/simulated_network.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/test_audio_device.h" #include "test/call_test.h" diff --git a/audio/voip/BUILD.gn b/audio/voip/BUILD.gn index 2b0717949f..a9a9a675a4 100644 --- a/audio/voip/BUILD.gn +++ b/audio/voip/BUILD.gn @@ -17,11 +17,11 @@ rtc_library("voip_core") { ":audio_channel", "..:audio", "../../api:scoped_refptr", + "../../api/audio:audio_device", "../../api/audio:audio_processing", "../../api/audio_codecs:audio_codecs_api", "../../api/task_queue", "../../api/voip:voip_api", - "../../modules/audio_device:audio_device_api", "../../modules/audio_mixer:audio_mixer_impl", "../../rtc_base:criticalsection", "../../rtc_base:logging", @@ -42,7 +42,6 @@ rtc_library("audio_channel") { "../../api/audio_codecs:audio_codecs_api", "../../api/task_queue", "../../api/voip:voip_api", - "../../modules/audio_device:audio_device_api", "../../modules/rtp_rtcp", "../../modules/rtp_rtcp:rtp_rtcp_format", "../../rtc_base:criticalsection", diff --git a/audio/voip/voip_core.h b/audio/voip/voip_core.h index 2c7c7ee75c..4a6031dfe2 100644 --- a/audio/voip/voip_core.h +++ b/audio/voip/voip_core.h @@ -17,6 +17,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory.h" #include "api/audio_codecs/audio_encoder_factory.h" @@ -31,7 +32,6 @@ #include "api/voip/voip_volume_control.h" #include "audio/audio_transport_impl.h" #include "audio/voip/audio_channel.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "rtc_base/synchronization/mutex.h" diff --git a/call/BUILD.gn b/call/BUILD.gn index 43e32a3d09..00fa602c3e 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -50,6 +50,7 @@ rtc_library("call_interfaces") { "../api:scoped_refptr", "../api:transport_api", "../api/adaptation:resource_adaptation_api", + "../api/audio:audio_device", "../api/audio:audio_frame_processor", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", @@ -560,6 +561,7 @@ if (rtc_include_tests) { ":video_stream_api", "../api:rtc_event_log_output_file", "../api:simulated_network_api", + "../api/audio:audio_device", "../api/audio_codecs:builtin_audio_encoder_factory", "../api/numerics", "../api/rtc_event_log", diff --git a/call/audio_state.h b/call/audio_state.h index 8f6bc7d0ff..bd4386839d 100644 --- a/call/audio_state.h +++ b/call/audio_state.h @@ -10,11 +10,11 @@ #ifndef CALL_AUDIO_STATE_H_ #define CALL_AUDIO_STATE_H_ +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/scoped_refptr.h" #include "modules/async_audio_processing/async_audio_processing.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/ref_count.h" namespace webrtc { diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc index 0df31c42f3..dfdfec8b14 100644 --- a/call/call_perf_tests.cc +++ b/call/call_perf_tests.cc @@ -15,6 +15,7 @@ #include "absl/flags/flag.h" #include "absl/strings/string_view.h" +#include "api/audio/audio_device.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/numerics/samples_stats_counter.h" #include "api/rtc_event_log/rtc_event_log.h" @@ -32,7 +33,6 @@ #include "media/engine/internal_encoder_factory.h" #include "media/engine/simulcast_encoder_adapter.h" #include "modules/audio_coding/include/audio_coding_module.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/test_audio_device.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "modules/rtp_rtcp/source/rtp_packet.h" diff --git a/examples/BUILD.gn b/examples/BUILD.gn index c66f282ae3..3d7d19c6eb 100644 --- a/examples/BUILD.gn +++ b/examples/BUILD.gn @@ -689,6 +689,7 @@ if (is_linux || is_chromeos || is_win) { "../api:media_stream_interface", "../api:rtp_sender_interface", "../api:scoped_refptr", + "../api/audio:audio_device", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", "../api/audio_codecs:audio_codecs_api", diff --git a/examples/peerconnection/client/conductor.cc b/examples/peerconnection/client/conductor.cc index 1dd9dcd14c..23e5781067 100644 --- a/examples/peerconnection/client/conductor.cc +++ b/examples/peerconnection/client/conductor.cc @@ -19,6 +19,7 @@ #include "absl/memory/memory.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory.h" @@ -41,7 +42,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "examples/peerconnection/client/defaults.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/video_capture/video_capture.h" #include "modules/video_capture/video_capture_factory.h" #include "p2p/base/port_allocator.h" diff --git a/media/BUILD.gn b/media/BUILD.gn index 6a13f78c97..5a0a5ef245 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -577,6 +577,7 @@ rtc_library("rtc_audio_video") { "../api:scoped_refptr", "../api:sequence_checker", "../api:transport_api", + "../api/audio:audio_device", "../api/audio:audio_frame_api", "../api/audio:audio_frame_processor", "../api/audio:audio_mixer_api", diff --git a/media/base/media_engine.h b/media/base/media_engine.h index 8d5b01cef2..63cc86fe5a 100644 --- a/media/base/media_engine.h +++ b/media/base/media_engine.h @@ -30,7 +30,6 @@ #include "rtc_base/system/file_wrapper.h" namespace webrtc { -class AudioDeviceModule; class AudioMixer; class Call; } // namespace webrtc diff --git a/media/engine/adm_helpers.cc b/media/engine/adm_helpers.cc index c349b7ce06..12dfbc9bbe 100644 --- a/media/engine/adm_helpers.cc +++ b/media/engine/adm_helpers.cc @@ -10,7 +10,7 @@ #include "media/engine/adm_helpers.h" -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" diff --git a/media/engine/webrtc_voice_engine.h b/media/engine/webrtc_voice_engine.h index d6682877ea..502a062edb 100644 --- a/media/engine/webrtc_voice_engine.h +++ b/media/engine/webrtc_voice_engine.h @@ -24,6 +24,7 @@ #include "absl/functional/any_invocable.h" #include "absl/strings/string_view.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_frame_processor.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" @@ -59,7 +60,6 @@ #include "media/base/rtp_utils.h" #include "media/base/stream_params.h" #include "modules/async_audio_processing/async_audio_processing.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/rtp_rtcp/include/rtp_header_extension_map.h" #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "rtc_base/buffer.h" diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn index 359867e50c..d15071cdd6 100644 --- a/modules/audio_device/BUILD.gn +++ b/modules/audio_device/BUILD.gn @@ -26,7 +26,7 @@ config("audio_device_warnings_config") { rtc_source_set("audio_device_default") { visibility = [ "*" ] sources = [ "include/audio_device_default.h" ] - deps = [ ":audio_device_api" ] + deps = [ "../../api/audio:audio_device" ] } rtc_source_set("audio_device") { @@ -47,15 +47,7 @@ rtc_source_set("audio_device_api") { "include/audio_device.h", "include/audio_device_defines.h", ] - deps = [ - "../../api:ref_count", - "../../api:scoped_refptr", - "../../api/task_queue", - "../../rtc_base:checks", - "../../rtc_base:refcount", - "../../rtc_base:stringutils", - ] - absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + deps = [ "../../api/audio:audio_device" ] } rtc_library("audio_device_config") { @@ -70,9 +62,9 @@ rtc_library("audio_device_buffer") { "fine_audio_buffer.h", ] deps = [ - ":audio_device_api", "../../api:array_view", "../../api:sequence_checker", + "../../api/audio:audio_device", "../../api/task_queue", "../../common_audio:common_audio_c", "../../rtc_base:buffer", @@ -96,8 +88,8 @@ rtc_library("audio_device_generic") { "audio_device_generic.h", ] deps = [ - ":audio_device_api", ":audio_device_buffer", + "../../api/audio:audio_device", "../../rtc_base:logging", ] } @@ -118,8 +110,8 @@ rtc_source_set("windows_core_audio_utility") { ] deps = [ - ":audio_device_api", ":audio_device_name", + "../../api/audio:audio_device", "../../api/units:time_delta", "../../rtc_base:checks", "../../rtc_base:logging", @@ -157,12 +149,12 @@ rtc_source_set("audio_device_module_from_input_and_output") { ] deps = [ - ":audio_device_api", ":audio_device_buffer", ":windows_core_audio_utility", "../../api:make_ref_counted", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/audio:audio_device", "../../api/task_queue", "../../rtc_base:checks", "../../rtc_base:logging", @@ -191,7 +183,6 @@ if (!build_with_chromium) { "test_audio_device_impl.h", ] deps = [ - ":audio_device_api", ":audio_device_buffer", ":audio_device_default", ":audio_device_generic", @@ -199,6 +190,7 @@ if (!build_with_chromium) { "../../api:array_view", "../../api:make_ref_counted", "../../api:scoped_refptr", + "../../api/audio:audio_device", "../../api/task_queue", "../../api/units:time_delta", "../../common_audio", @@ -228,9 +220,9 @@ rtc_library("audio_device_dummy") { "dummy/audio_device_dummy.h", ] deps = [ - ":audio_device_api", ":audio_device_buffer", ":audio_device_generic", + "../../api/audio:audio_device", ] } @@ -267,7 +259,6 @@ if (!build_with_chromium) { rtc_library("audio_device_impl") { visibility = [ "*" ] deps = [ - ":audio_device_api", ":audio_device_buffer", ":audio_device_config", ":audio_device_default", @@ -278,6 +269,7 @@ rtc_library("audio_device_impl") { "../../api:refcountedbase", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/audio:audio_device", "../../api/task_queue", "../../api/units:time_delta", "../../common_audio", @@ -450,6 +442,7 @@ rtc_source_set("mock_audio_device") { ":audio_device_buffer", ":audio_device_impl", "../../api:make_ref_counted", + "../../api/audio:audio_device", "../../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] @@ -474,6 +467,7 @@ if (rtc_include_tests && !build_with_chromium) { "../../api:array_view", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/audio:audio_device", "../../api/task_queue", "../../api/task_queue:default_task_queue_factory", "../../api/units:time_delta", diff --git a/modules/audio_device/audio_device_buffer.h b/modules/audio_device/audio_device_buffer.h index b96696eb48..e9a90abab2 100644 --- a/modules/audio_device/audio_device_buffer.h +++ b/modules/audio_device/audio_device_buffer.h @@ -17,10 +17,10 @@ #include #include +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/buffer.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/thread_annotations.h" diff --git a/modules/audio_device/audio_device_data_observer.cc b/modules/audio_device/audio_device_data_observer.cc index 0524830327..9643f7501e 100644 --- a/modules/audio_device/audio_device_data_observer.cc +++ b/modules/audio_device/audio_device_data_observer.cc @@ -10,8 +10,8 @@ #include "modules/audio_device/include/audio_device_data_observer.h" +#include "api/audio/audio_device_defines.h" #include "api/make_ref_counted.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/checks.h" namespace webrtc { diff --git a/modules/audio_device/audio_device_generic.h b/modules/audio_device/audio_device_generic.h index 41e24eb3b0..3fa3ed9d8a 100644 --- a/modules/audio_device/audio_device_generic.h +++ b/modules/audio_device/audio_device_generic.h @@ -13,9 +13,9 @@ #include +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" namespace webrtc { diff --git a/modules/audio_device/audio_device_impl.h b/modules/audio_device/audio_device_impl.h index 46d91a46c8..1e84eda02b 100644 --- a/modules/audio_device/audio_device_impl.h +++ b/modules/audio_device/audio_device_impl.h @@ -17,9 +17,9 @@ #include +#include "api/audio/audio_device.h" #include "api/task_queue/task_queue_factory.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/modules/audio_device/audio_device_unittest.cc b/modules/audio_device/audio_device_unittest.cc index e03c11655b..8275f215f3 100644 --- a/modules/audio_device/audio_device_unittest.cc +++ b/modules/audio_device/audio_device_unittest.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include #include diff --git a/modules/audio_device/dummy/audio_device_dummy.h b/modules/audio_device/dummy/audio_device_dummy.h index 2a2541098e..6550915974 100644 --- a/modules/audio_device/dummy/audio_device_dummy.h +++ b/modules/audio_device/dummy/audio_device_dummy.h @@ -13,10 +13,10 @@ #include +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/audio_device_generic.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" namespace webrtc { diff --git a/modules/audio_device/include/audio_device.h b/modules/audio_device/include/audio_device.h index 47d2aecfa7..3549e00835 100644 --- a/modules/audio_device/include/audio_device.h +++ b/modules/audio_device/include/audio_device.h @@ -11,184 +11,8 @@ #ifndef MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ #define MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ -#include "absl/types/optional.h" -#include "api/ref_count.h" -#include "api/scoped_refptr.h" -#include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device_defines.h" - -namespace webrtc { - -class AudioDeviceModuleForTest; - -class AudioDeviceModule : public webrtc::RefCountInterface { - public: - enum AudioLayer { - kPlatformDefaultAudio = 0, - kWindowsCoreAudio, - kWindowsCoreAudio2, - kLinuxAlsaAudio, - kLinuxPulseAudio, - kAndroidJavaAudio, - kAndroidOpenSLESAudio, - kAndroidJavaInputAndOpenSLESOutputAudio, - kAndroidAAudioAudio, - kAndroidJavaInputAndAAudioOutputAudio, - kDummyAudio, - }; - - enum WindowsDeviceType { - kDefaultCommunicationDevice = -1, - kDefaultDevice = -2 - }; - - struct Stats { - // The fields below correspond to similarly-named fields in the WebRTC stats - // spec. https://w3c.github.io/webrtc-stats/#playoutstats-dict* - double synthesized_samples_duration_s = 0; - uint64_t synthesized_samples_events = 0; - double total_samples_duration_s = 0; - double total_playout_delay_s = 0; - uint64_t total_samples_count = 0; - }; - - public: - // Creates a default ADM for usage in production code. - static rtc::scoped_refptr Create( - AudioLayer audio_layer, - TaskQueueFactory* task_queue_factory); - // Creates an ADM with support for extra test methods. Don't use this factory - // in production code. - static rtc::scoped_refptr CreateForTest( - AudioLayer audio_layer, - TaskQueueFactory* task_queue_factory); - - // Retrieve the currently utilized audio layer - virtual int32_t ActiveAudioLayer(AudioLayer* audioLayer) const = 0; - - // Full-duplex transportation of PCM audio - virtual int32_t RegisterAudioCallback(AudioTransport* audioCallback) = 0; - - // Main initialization and termination - virtual int32_t Init() = 0; - virtual int32_t Terminate() = 0; - virtual bool Initialized() const = 0; - - // Device enumeration - virtual int16_t PlayoutDevices() = 0; - virtual int16_t RecordingDevices() = 0; - virtual int32_t PlayoutDeviceName(uint16_t index, - char name[kAdmMaxDeviceNameSize], - char guid[kAdmMaxGuidSize]) = 0; - virtual int32_t RecordingDeviceName(uint16_t index, - char name[kAdmMaxDeviceNameSize], - char guid[kAdmMaxGuidSize]) = 0; - - // Device selection - virtual int32_t SetPlayoutDevice(uint16_t index) = 0; - virtual int32_t SetPlayoutDevice(WindowsDeviceType device) = 0; - virtual int32_t SetRecordingDevice(uint16_t index) = 0; - virtual int32_t SetRecordingDevice(WindowsDeviceType device) = 0; - - // Audio transport initialization - virtual int32_t PlayoutIsAvailable(bool* available) = 0; - virtual int32_t InitPlayout() = 0; - virtual bool PlayoutIsInitialized() const = 0; - virtual int32_t RecordingIsAvailable(bool* available) = 0; - virtual int32_t InitRecording() = 0; - virtual bool RecordingIsInitialized() const = 0; - - // Audio transport control - virtual int32_t StartPlayout() = 0; - virtual int32_t StopPlayout() = 0; - virtual bool Playing() const = 0; - virtual int32_t StartRecording() = 0; - virtual int32_t StopRecording() = 0; - virtual bool Recording() const = 0; - - // Audio mixer initialization - virtual int32_t InitSpeaker() = 0; - virtual bool SpeakerIsInitialized() const = 0; - virtual int32_t InitMicrophone() = 0; - virtual bool MicrophoneIsInitialized() const = 0; - - // Speaker volume controls - virtual int32_t SpeakerVolumeIsAvailable(bool* available) = 0; - virtual int32_t SetSpeakerVolume(uint32_t volume) = 0; - virtual int32_t SpeakerVolume(uint32_t* volume) const = 0; - virtual int32_t MaxSpeakerVolume(uint32_t* maxVolume) const = 0; - virtual int32_t MinSpeakerVolume(uint32_t* minVolume) const = 0; - - // Microphone volume controls - virtual int32_t MicrophoneVolumeIsAvailable(bool* available) = 0; - virtual int32_t SetMicrophoneVolume(uint32_t volume) = 0; - virtual int32_t MicrophoneVolume(uint32_t* volume) const = 0; - virtual int32_t MaxMicrophoneVolume(uint32_t* maxVolume) const = 0; - virtual int32_t MinMicrophoneVolume(uint32_t* minVolume) const = 0; - - // Speaker mute control - virtual int32_t SpeakerMuteIsAvailable(bool* available) = 0; - virtual int32_t SetSpeakerMute(bool enable) = 0; - virtual int32_t SpeakerMute(bool* enabled) const = 0; - - // Microphone mute control - virtual int32_t MicrophoneMuteIsAvailable(bool* available) = 0; - virtual int32_t SetMicrophoneMute(bool enable) = 0; - virtual int32_t MicrophoneMute(bool* enabled) const = 0; - - // Stereo support - virtual int32_t StereoPlayoutIsAvailable(bool* available) const = 0; - virtual int32_t SetStereoPlayout(bool enable) = 0; - virtual int32_t StereoPlayout(bool* enabled) const = 0; - virtual int32_t StereoRecordingIsAvailable(bool* available) const = 0; - virtual int32_t SetStereoRecording(bool enable) = 0; - virtual int32_t StereoRecording(bool* enabled) const = 0; - - // Playout delay - virtual int32_t PlayoutDelay(uint16_t* delayMS) const = 0; - - // Only supported on Android. - virtual bool BuiltInAECIsAvailable() const = 0; - virtual bool BuiltInAGCIsAvailable() const = 0; - virtual bool BuiltInNSIsAvailable() const = 0; - - // Enables the built-in audio effects. Only supported on Android. - virtual int32_t EnableBuiltInAEC(bool enable) = 0; - virtual int32_t EnableBuiltInAGC(bool enable) = 0; - virtual int32_t EnableBuiltInNS(bool enable) = 0; - - // Play underrun count. Only supported on Android. - // TODO(alexnarest): Make it abstract after upstream projects support it. - virtual int32_t GetPlayoutUnderrunCount() const { return -1; } - - // Used to generate RTC stats. If not implemented, RTCAudioPlayoutStats will - // not be present in the stats. - virtual absl::optional GetStats() const { return absl::nullopt; } - -// Only supported on iOS. -#if defined(WEBRTC_IOS) - virtual int GetPlayoutAudioParameters(AudioParameters* params) const = 0; - virtual int GetRecordAudioParameters(AudioParameters* params) const = 0; -#endif // WEBRTC_IOS - - protected: - ~AudioDeviceModule() override {} -}; - -// Extends the default ADM interface with some extra test methods. -// Intended for usage in tests only and requires a unique factory method. -class AudioDeviceModuleForTest : public AudioDeviceModule { - public: - // Triggers internal restart sequences of audio streaming. Can be used by - // tests to emulate events corresponding to e.g. removal of an active audio - // device or other actions which causes the stream to be disconnected. - virtual int RestartPlayoutInternally() = 0; - virtual int RestartRecordingInternally() = 0; - - virtual int SetPlayoutSampleRate(uint32_t sample_rate) = 0; - virtual int SetRecordingSampleRate(uint32_t sample_rate) = 0; -}; - -} // namespace webrtc +// This is a transitional header forwarding to the new version in the api/ +// folder. +#include "api/audio/audio_device.h" #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ diff --git a/modules/audio_device/include/audio_device_data_observer.h b/modules/audio_device/include/audio_device_data_observer.h index 36dc45f19e..2e8b79a146 100644 --- a/modules/audio_device/include/audio_device_data_observer.h +++ b/modules/audio_device/include/audio_device_data_observer.h @@ -15,9 +15,9 @@ #include #include "absl/base/attributes.h" +#include "api/audio/audio_device.h" #include "api/scoped_refptr.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/modules/audio_device/include/audio_device_default.h b/modules/audio_device/include/audio_device_default.h index 3779d6fb3b..fb146a9d89 100644 --- a/modules/audio_device/include/audio_device_default.h +++ b/modules/audio_device/include/audio_device_default.h @@ -11,7 +11,7 @@ #ifndef MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFAULT_H_ #define MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFAULT_H_ -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" namespace webrtc { namespace webrtc_impl { diff --git a/modules/audio_device/include/audio_device_defines.h b/modules/audio_device/include/audio_device_defines.h index d677d41f69..d126f78f9d 100644 --- a/modules/audio_device/include/audio_device_defines.h +++ b/modules/audio_device/include/audio_device_defines.h @@ -11,167 +11,8 @@ #ifndef MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFINES_H_ #define MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFINES_H_ -#include - -#include - -#include "rtc_base/checks.h" -#include "rtc_base/strings/string_builder.h" - -namespace webrtc { - -static const int kAdmMaxDeviceNameSize = 128; -static const int kAdmMaxFileNameSize = 512; -static const int kAdmMaxGuidSize = 128; - -static const int kAdmMinPlayoutBufferSizeMs = 10; -static const int kAdmMaxPlayoutBufferSizeMs = 250; - -// ---------------------------------------------------------------------------- -// AudioTransport -// ---------------------------------------------------------------------------- - -class AudioTransport { - public: - // TODO(bugs.webrtc.org/13620) Deprecate this function - virtual int32_t RecordedDataIsAvailable(const void* audioSamples, - size_t nSamples, - size_t nBytesPerSample, - size_t nChannels, - uint32_t samplesPerSec, - uint32_t totalDelayMS, - int32_t clockDrift, - uint32_t currentMicLevel, - bool keyPressed, - uint32_t& newMicLevel) = 0; // NOLINT - - virtual int32_t RecordedDataIsAvailable( - const void* audioSamples, - size_t nSamples, - size_t nBytesPerSample, - size_t nChannels, - uint32_t samplesPerSec, - uint32_t totalDelayMS, - int32_t clockDrift, - uint32_t currentMicLevel, - bool keyPressed, - uint32_t& newMicLevel, - absl::optional estimatedCaptureTimeNS) { // NOLINT - // TODO(webrtc:13620) Make the default behaver of the new API to behave as - // the old API. This can be pure virtual if all uses of the old API is - // removed. - return RecordedDataIsAvailable( - audioSamples, nSamples, nBytesPerSample, nChannels, samplesPerSec, - totalDelayMS, clockDrift, currentMicLevel, keyPressed, newMicLevel); - } - - // Implementation has to setup safe values for all specified out parameters. - virtual int32_t NeedMorePlayData(size_t nSamples, - size_t nBytesPerSample, - size_t nChannels, - uint32_t samplesPerSec, - void* audioSamples, - size_t& nSamplesOut, // NOLINT - int64_t* elapsed_time_ms, - int64_t* ntp_time_ms) = 0; // NOLINT - - // Method to pull mixed render audio data from all active VoE channels. - // The data will not be passed as reference for audio processing internally. - virtual void PullRenderData(int bits_per_sample, - int sample_rate, - size_t number_of_channels, - size_t number_of_frames, - void* audio_data, - int64_t* elapsed_time_ms, - int64_t* ntp_time_ms) = 0; - - protected: - virtual ~AudioTransport() {} -}; - -// Helper class for storage of fundamental audio parameters such as sample rate, -// number of channels, native buffer size etc. -// Note that one audio frame can contain more than one channel sample and each -// sample is assumed to be a 16-bit PCM sample. Hence, one audio frame in -// stereo contains 2 * (16/8) = 4 bytes of data. -class AudioParameters { - public: - // This implementation does only support 16-bit PCM samples. - static const size_t kBitsPerSample = 16; - AudioParameters() - : sample_rate_(0), - channels_(0), - frames_per_buffer_(0), - frames_per_10ms_buffer_(0) {} - AudioParameters(int sample_rate, size_t channels, size_t frames_per_buffer) - : sample_rate_(sample_rate), - channels_(channels), - frames_per_buffer_(frames_per_buffer), - frames_per_10ms_buffer_(static_cast(sample_rate / 100)) {} - void reset(int sample_rate, size_t channels, size_t frames_per_buffer) { - sample_rate_ = sample_rate; - channels_ = channels; - frames_per_buffer_ = frames_per_buffer; - frames_per_10ms_buffer_ = static_cast(sample_rate / 100); - } - size_t bits_per_sample() const { return kBitsPerSample; } - void reset(int sample_rate, size_t channels, double buffer_duration) { - reset(sample_rate, channels, - static_cast(sample_rate * buffer_duration + 0.5)); - } - void reset(int sample_rate, size_t channels) { - reset(sample_rate, channels, static_cast(0)); - } - int sample_rate() const { return sample_rate_; } - size_t channels() const { return channels_; } - size_t frames_per_buffer() const { return frames_per_buffer_; } - size_t frames_per_10ms_buffer() const { return frames_per_10ms_buffer_; } - size_t GetBytesPerFrame() const { return channels_ * kBitsPerSample / 8; } - size_t GetBytesPerBuffer() const { - return frames_per_buffer_ * GetBytesPerFrame(); - } - // The WebRTC audio device buffer (ADB) only requires that the sample rate - // and number of channels are configured. Hence, to be "valid", only these - // two attributes must be set. - bool is_valid() const { return ((sample_rate_ > 0) && (channels_ > 0)); } - // Most platforms also require that a native buffer size is defined. - // An audio parameter instance is considered to be "complete" if it is both - // "valid" (can be used by the ADB) and also has a native frame size. - bool is_complete() const { return (is_valid() && (frames_per_buffer_ > 0)); } - size_t GetBytesPer10msBuffer() const { - return frames_per_10ms_buffer_ * GetBytesPerFrame(); - } - double GetBufferSizeInMilliseconds() const { - if (sample_rate_ == 0) - return 0.0; - return frames_per_buffer_ / (sample_rate_ / 1000.0); - } - double GetBufferSizeInSeconds() const { - if (sample_rate_ == 0) - return 0.0; - return static_cast(frames_per_buffer_) / (sample_rate_); - } - std::string ToString() const { - char ss_buf[1024]; - rtc::SimpleStringBuilder ss(ss_buf); - ss << "AudioParameters: "; - ss << "sample_rate=" << sample_rate() << ", channels=" << channels(); - ss << ", frames_per_buffer=" << frames_per_buffer(); - ss << ", frames_per_10ms_buffer=" << frames_per_10ms_buffer(); - ss << ", bytes_per_frame=" << GetBytesPerFrame(); - ss << ", bytes_per_buffer=" << GetBytesPerBuffer(); - ss << ", bytes_per_10ms_buffer=" << GetBytesPer10msBuffer(); - ss << ", size_in_ms=" << GetBufferSizeInMilliseconds(); - return ss.str(); - } - - private: - int sample_rate_; - size_t channels_; - size_t frames_per_buffer_; - size_t frames_per_10ms_buffer_; -}; - -} // namespace webrtc +// This is a transitional header forwarding to the new version in the api/ +// folder. +#include "api/audio/audio_device_defines.h" #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFINES_H_ diff --git a/modules/audio_device/include/audio_device_factory.h b/modules/audio_device/include/audio_device_factory.h index edd7686b8e..4948c65161 100644 --- a/modules/audio_device/include/audio_device_factory.h +++ b/modules/audio_device/include/audio_device_factory.h @@ -13,8 +13,8 @@ #include +#include "api/audio/audio_device.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/modules/audio_device/include/fake_audio_device.h b/modules/audio_device/include/fake_audio_device.h index 2a303173e9..b348483fb1 100644 --- a/modules/audio_device/include/fake_audio_device.h +++ b/modules/audio_device/include/fake_audio_device.h @@ -11,7 +11,7 @@ #ifndef MODULES_AUDIO_DEVICE_INCLUDE_FAKE_AUDIO_DEVICE_H_ #define MODULES_AUDIO_DEVICE_INCLUDE_FAKE_AUDIO_DEVICE_H_ -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "modules/audio_device/include/audio_device_default.h" namespace webrtc { diff --git a/modules/audio_device/include/mock_audio_device.h b/modules/audio_device/include/mock_audio_device.h index 73fbdd547d..714268483d 100644 --- a/modules/audio_device/include/mock_audio_device.h +++ b/modules/audio_device/include/mock_audio_device.h @@ -13,8 +13,8 @@ #include +#include "api/audio/audio_device.h" #include "api/make_ref_counted.h" -#include "modules/audio_device/include/audio_device.h" #include "test/gmock.h" namespace webrtc { diff --git a/modules/audio_device/include/mock_audio_transport.h b/modules/audio_device/include/mock_audio_transport.h index b886967319..cde0e53f00 100644 --- a/modules/audio_device/include/mock_audio_transport.h +++ b/modules/audio_device/include/mock_audio_transport.h @@ -11,7 +11,7 @@ #ifndef MODULES_AUDIO_DEVICE_INCLUDE_MOCK_AUDIO_TRANSPORT_H_ #define MODULES_AUDIO_DEVICE_INCLUDE_MOCK_AUDIO_TRANSPORT_H_ -#include "modules/audio_device/include/audio_device_defines.h" +#include "api/audio/audio_device_defines.h" #include "test/gmock.h" namespace webrtc { diff --git a/modules/audio_device/include/test_audio_device.h b/modules/audio_device/include/test_audio_device.h index 4b2d755ae1..83954c8cd5 100644 --- a/modules/audio_device/include/test_audio_device.h +++ b/modules/audio_device/include/test_audio_device.h @@ -18,10 +18,10 @@ #include "absl/strings/string_view.h" #include "api/array_view.h" +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "api/scoped_refptr.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/buffer.h" namespace webrtc { diff --git a/modules/audio_device/include/test_audio_device_unittest.cc b/modules/audio_device/include/test_audio_device_unittest.cc index cca82977e8..165a4fbcf5 100644 --- a/modules/audio_device/include/test_audio_device_unittest.cc +++ b/modules/audio_device/include/test_audio_device_unittest.cc @@ -17,12 +17,12 @@ #include "absl/types/optional.h" #include "api/array_view.h" +#include "api/audio/audio_device_defines.h" #include "api/task_queue/task_queue_factory.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "common_audio/wav_file.h" #include "common_audio/wav_header.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/synchronization/mutex.h" diff --git a/modules/audio_device/linux/audio_device_pulse_linux.h b/modules/audio_device/linux/audio_device_pulse_linux.h index 0cf89ef011..d818caf19a 100644 --- a/modules/audio_device/linux/audio_device_pulse_linux.h +++ b/modules/audio_device/linux/audio_device_pulse_linux.h @@ -13,11 +13,11 @@ #include +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/audio_device_generic.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "modules/audio_device/linux/audio_mixer_manager_pulse_linux.h" #include "modules/audio_device/linux/pulseaudiosymboltable_linux.h" #include "rtc_base/event.h" diff --git a/modules/audio_device/linux/audio_mixer_manager_alsa_linux.h b/modules/audio_device/linux/audio_mixer_manager_alsa_linux.h index d98287822d..ec6c781412 100644 --- a/modules/audio_device/linux/audio_mixer_manager_alsa_linux.h +++ b/modules/audio_device/linux/audio_mixer_manager_alsa_linux.h @@ -13,7 +13,7 @@ #include -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "modules/audio_device/linux/alsasymboltable_linux.h" #include "rtc_base/synchronization/mutex.h" diff --git a/modules/audio_device/mac/audio_mixer_manager_mac.h b/modules/audio_device/mac/audio_mixer_manager_mac.h index 0ccab4879b..6767d6c6ed 100644 --- a/modules/audio_device/mac/audio_mixer_manager_mac.h +++ b/modules/audio_device/mac/audio_mixer_manager_mac.h @@ -13,7 +13,7 @@ #include -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "rtc_base/logging.h" #include "rtc_base/synchronization/mutex.h" diff --git a/modules/audio_device/test_audio_device_impl.h b/modules/audio_device/test_audio_device_impl.h index 84b48948ba..87fd9a9630 100644 --- a/modules/audio_device/test_audio_device_impl.h +++ b/modules/audio_device/test_audio_device_impl.h @@ -14,12 +14,12 @@ #include #include +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/audio_device_generic.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "modules/audio_device/include/test_audio_device.h" #include "rtc_base/buffer.h" #include "rtc_base/synchronization/mutex.h" diff --git a/modules/audio_device/test_audio_device_impl_test.cc b/modules/audio_device/test_audio_device_impl_test.cc index e81bb2f807..ad15ad5ac5 100644 --- a/modules/audio_device/test_audio_device_impl_test.cc +++ b/modules/audio_device/test_audio_device_impl_test.cc @@ -13,13 +13,13 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "api/task_queue/task_queue_factory.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/audio_device_generic.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "modules/audio_device/include/test_audio_device.h" #include "rtc_base/checks.h" #include "rtc_base/synchronization/mutex.h" diff --git a/modules/audio_device/win/audio_device_module_win.cc b/modules/audio_device/win/audio_device_module_win.cc index a36c40735e..00f5443d70 100644 --- a/modules/audio_device/win/audio_device_module_win.cc +++ b/modules/audio_device/win/audio_device_module_win.cc @@ -13,10 +13,10 @@ #include #include +#include "api/audio/audio_device.h" #include "api/make_ref_counted.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/string_utils.h" diff --git a/modules/audio_device/win/audio_device_module_win.h b/modules/audio_device/win/audio_device_module_win.h index 1ed0b25620..d7cd06b651 100644 --- a/modules/audio_device/win/audio_device_module_win.h +++ b/modules/audio_device/win/audio_device_module_win.h @@ -14,9 +14,9 @@ #include #include +#include "api/audio/audio_device.h" #include "api/scoped_refptr.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/modules/audio_device/win/core_audio_utility_win.h b/modules/audio_device/win/core_audio_utility_win.h index 454e60bf31..37b908740a 100644 --- a/modules/audio_device/win/core_audio_utility_win.h +++ b/modules/audio_device/win/core_audio_utility_win.h @@ -23,9 +23,9 @@ #include #include "absl/strings/string_view.h" +#include "api/audio/audio_device_defines.h" #include "api/units/time_delta.h" #include "modules/audio_device/audio_device_name.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/logging.h" #include "rtc_base/string_utils.h" diff --git a/pc/BUILD.gn b/pc/BUILD.gn index 42763b4d91..18063aef88 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -867,6 +867,7 @@ rtc_source_set("peer_connection_internal") { ":rtp_transmission_manager", ":sctp_data_channel", "../api:libjingle_peerconnection_api", + "../api/audio:audio_device", "../call:call_interfaces", "../modules/audio_device", ] @@ -907,6 +908,7 @@ rtc_source_set("rtc_stats_collector") { "../api:rtp_parameters", "../api:scoped_refptr", "../api:sequence_checker", + "../api/audio:audio_device", "../api/audio:audio_processing_statistics", "../api/task_queue:task_queue", "../api/units:time_delta", @@ -2145,6 +2147,7 @@ if (rtc_include_tests && !build_with_chromium) { "../api:rtc_error", "../api:rtc_stats_api", "../api:scoped_refptr", + "../api/audio:audio_device", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", "../api/audio_codecs:audio_codecs_api", @@ -2164,7 +2167,6 @@ if (rtc_include_tests && !build_with_chromium) { "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter", "../api/video_codecs:video_encoder_factory_template_open_h264_adapter", "../media:rtc_media_tests_utils", - "../modules/audio_device:audio_device_api", "../p2p:basic_port_allocator", "../p2p:connection", "../p2p:p2p_test_utils", @@ -2367,6 +2369,7 @@ if (rtc_include_tests && !build_with_chromium) { "../api:rtp_transceiver_direction", "../api:scoped_refptr", "../api/adaptation:resource_adaptation_api", + "../api/audio:audio_device", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", "../api/audio:audio_processing_statistics", @@ -2404,7 +2407,6 @@ if (rtc_include_tests && !build_with_chromium) { "../media:rtc_data_sctp_transport_internal", "../media:rtc_media_config", "../media:stream_params", - "../modules/audio_device:audio_device_api", "../modules/rtp_rtcp:rtp_rtcp_format", "../p2p:basic_port_allocator", "../p2p:connection", @@ -2597,6 +2599,7 @@ if (rtc_include_tests && !build_with_chromium) { "../api:rtp_sender_interface", "../api:rtp_transceiver_direction", "../api:scoped_refptr", + "../api/audio:audio_device", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", "../api/crypto:frame_decryptor_interface", @@ -2620,7 +2623,6 @@ if (rtc_include_tests && !build_with_chromium) { "../media:rtc_media_config", "../media:rtc_media_tests_utils", "../media:stream_params", - "../modules/audio_device:audio_device_api", "../modules/audio_processing:audioproc_test_utils", "../modules/rtp_rtcp:rtp_rtcp_format", "../p2p:basic_port_allocator", @@ -2748,6 +2750,7 @@ if (rtc_include_tests && !build_with_chromium) { "../api:rtp_parameters", "../api:scoped_refptr", "../api:sequence_checker", + "../api/audio:audio_device", "../api/audio:audio_mixer_api", "../api/audio:audio_processing", "../api/audio_codecs:audio_codecs_api", diff --git a/pc/peer_connection_bundle_unittest.cc b/pc/peer_connection_bundle_unittest.cc index 269f6c7758..7208ba07e6 100644 --- a/pc/peer_connection_bundle_unittest.cc +++ b/pc/peer_connection_bundle_unittest.cc @@ -19,6 +19,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -46,7 +47,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/stream_params.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/p2p_constants.h" #include "p2p/base/port.h" #include "p2p/base/port_allocator.h" diff --git a/pc/peer_connection_crypto_unittest.cc b/pc/peer_connection_crypto_unittest.cc index 57c6c1a19b..9ba20ca4f8 100644 --- a/pc/peer_connection_crypto_unittest.cc +++ b/pc/peer_connection_crypto_unittest.cc @@ -19,6 +19,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -38,7 +39,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/fake_port_allocator.h" #include "p2p/base/port_allocator.h" #include "p2p/base/transport_description.h" diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc index d2e8938e1b..eb10a6c4dd 100644 --- a/pc/peer_connection_factory_unittest.cc +++ b/pc/peer_connection_factory_unittest.cc @@ -15,6 +15,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -38,7 +39,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/fake_frame_source.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/fake_port_allocator.h" #include "p2p/base/port.h" #include "p2p/base/port_allocator.h" diff --git a/pc/peer_connection_ice_unittest.cc b/pc/peer_connection_ice_unittest.cc index a4b29af338..59541e51e5 100644 --- a/pc/peer_connection_ice_unittest.cc +++ b/pc/peer_connection_ice_unittest.cc @@ -19,6 +19,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/candidate.h" @@ -28,7 +29,6 @@ #include "api/peer_connection_interface.h" #include "api/rtc_error.h" #include "api/scoped_refptr.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/fake_port_allocator.h" #include "p2p/base/ice_transport_internal.h" #include "p2p/base/p2p_constants.h" diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc index 97934baab6..4d68246434 100644 --- a/pc/peer_connection_interface_unittest.cc +++ b/pc/peer_connection_interface_unittest.cc @@ -19,6 +19,7 @@ #include "absl/strings/str_replace.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -55,7 +56,6 @@ #include "media/base/stream_params.h" #include "media/engine/webrtc_media_engine.h" #include "media/sctp/sctp_transport_internal.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/fake_port_allocator.h" #include "p2p/base/p2p_constants.h" #include "p2p/base/port.h" diff --git a/pc/peer_connection_internal.h b/pc/peer_connection_internal.h index 6fc1222804..4f6d6d2cb3 100644 --- a/pc/peer_connection_internal.h +++ b/pc/peer_connection_internal.h @@ -18,9 +18,9 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/peer_connection_interface.h" #include "call/call.h" -#include "modules/audio_device/include/audio_device.h" #include "pc/jsep_transport_controller.h" #include "pc/peer_connection_message_handler.h" #include "pc/rtp_transceiver.h" diff --git a/pc/peer_connection_jsep_unittest.cc b/pc/peer_connection_jsep_unittest.cc index 786b519a93..fa033aee09 100644 --- a/pc/peer_connection_jsep_unittest.cc +++ b/pc/peer_connection_jsep_unittest.cc @@ -20,6 +20,7 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/enable_media_with_defaults.h" #include "api/field_trials_view.h" #include "api/jsep.h" @@ -40,7 +41,6 @@ #include "media/base/media_engine.h" #include "media/base/stream_params.h" #include "media/engine/webrtc_media_engine.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/p2p_constants.h" #include "p2p/base/port_allocator.h" #include "p2p/base/transport_info.h" diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc index 60e7abc03d..08bc37343f 100644 --- a/pc/peer_connection_rampup_tests.cc +++ b/pc/peer_connection_rampup_tests.cc @@ -14,6 +14,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -40,7 +41,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/port_allocator.h" #include "p2p/base/port_interface.h" #include "p2p/base/test_turn_server.h" diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc index c162dfda20..bde8e18afa 100644 --- a/pc/peer_connection_rtp_unittest.cc +++ b/pc/peer_connection_rtp_unittest.cc @@ -17,6 +17,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -46,7 +47,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/stream_params.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/port_allocator.h" #include "pc/media_session.h" #include "pc/peer_connection_wrapper.h" diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc index 64d393a9ac..b6ad19027e 100644 --- a/pc/peer_connection_signaling_unittest.cc +++ b/pc/peer_connection_signaling_unittest.cc @@ -24,6 +24,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -51,7 +52,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/codec.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/port_allocator.h" #include "pc/peer_connection.h" #include "pc/peer_connection_proxy.h" diff --git a/pc/peer_connection_simulcast_unittest.cc b/pc/peer_connection_simulcast_unittest.cc index b4b998a5d3..53dcd2d9dc 100644 --- a/pc/peer_connection_simulcast_unittest.cc +++ b/pc/peer_connection_simulcast_unittest.cc @@ -20,6 +20,7 @@ #include "absl/algorithm/container.h" #include "absl/strings/match.h" #include "absl/strings/string_view.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -51,7 +52,6 @@ #include "media/base/media_constants.h" #include "media/base/rid_description.h" #include "media/base/stream_params.h" -#include "modules/audio_device/include/audio_device.h" #include "pc/channel_interface.h" #include "pc/peer_connection_wrapper.h" #include "pc/sdp_utils.h" diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc index 1342fff38b..06dc922a71 100644 --- a/pc/rtc_stats_collector.cc +++ b/pc/rtc_stats_collector.cc @@ -25,6 +25,7 @@ #include "absl/functional/bind_front.h" #include "absl/strings/string_view.h" #include "api/array_view.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing_statistics.h" #include "api/candidate.h" #include "api/dtls_transport_interface.h" @@ -40,7 +41,6 @@ #include "common_video/include/quality_limitation_reason.h" #include "media/base/media_channel.h" #include "media/base/media_channel_impl.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/rtp_rtcp/include/report_block_data.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "p2p/base/connection_info.h" diff --git a/pc/rtc_stats_collector.h b/pc/rtc_stats_collector.h index 505979c5ea..17eaf7fa7d 100644 --- a/pc/rtc_stats_collector.h +++ b/pc/rtc_stats_collector.h @@ -20,6 +20,7 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/data_channel_interface.h" #include "api/media_types.h" #include "api/scoped_refptr.h" @@ -28,7 +29,6 @@ #include "api/stats/rtcstats_objects.h" #include "call/call.h" #include "media/base/media_channel.h" -#include "modules/audio_device/include/audio_device.h" #include "pc/data_channel_utils.h" #include "pc/peer_connection_internal.h" #include "pc/rtp_receiver.h" diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc index 7b3160eaff..0aa9a62b26 100644 --- a/pc/rtc_stats_collector_unittest.cc +++ b/pc/rtc_stats_collector_unittest.cc @@ -24,6 +24,7 @@ #include "absl/strings/str_replace.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing_statistics.h" #include "api/candidate.h" #include "api/dtls_transport_interface.h" @@ -46,7 +47,6 @@ #include "api/video_codecs/scalability_mode.h" #include "common_video/include/quality_limitation_reason.h" #include "media/base/media_channel.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/rtp_rtcp/include/report_block_data.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "p2p/base/connection_info.h" diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc index 2043ae80ac..e4324fa911 100644 --- a/pc/sdp_offer_answer_unittest.cc +++ b/pc/sdp_offer_answer_unittest.cc @@ -13,6 +13,7 @@ #include #include "absl/strings/str_replace.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" @@ -32,7 +33,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/port_allocator.h" #include "pc/peer_connection_wrapper.h" #include "pc/session_description.h" diff --git a/pc/test/fake_audio_capture_module.h b/pc/test/fake_audio_capture_module.h index c04373cdfd..f25d1513bc 100644 --- a/pc/test/fake_audio_capture_module.h +++ b/pc/test/fake_audio_capture_module.h @@ -25,10 +25,10 @@ #include +#include "api/audio/audio_device.h" +#include "api/audio/audio_device_defines.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" -#include "modules/audio_device/include/audio_device.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h index b539a87fc9..f1210fb215 100644 --- a/pc/test/integration_test_helpers.h +++ b/pc/test/integration_test_helpers.h @@ -30,6 +30,7 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_options.h" #include "api/candidate.h" @@ -69,7 +70,6 @@ #include "media/base/media_engine.h" #include "media/base/stream_params.h" #include "media/engine/fake_webrtc_video_engine.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/test/audio_processing_builder_for_testing.h" #include "p2p/base/fake_ice_transport.h" #include "p2p/base/ice_transport_internal.h" diff --git a/pc/test/mock_peer_connection_internal.h b/pc/test/mock_peer_connection_internal.h index e586008e1b..c9f896b8bb 100644 --- a/pc/test/mock_peer_connection_internal.h +++ b/pc/test/mock_peer_connection_internal.h @@ -17,7 +17,7 @@ #include #include -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "pc/peer_connection_internal.h" #include "test/gmock.h" diff --git a/pc/test/peer_connection_test_wrapper.cc b/pc/test/peer_connection_test_wrapper.cc index 068768b235..e5c3811994 100644 --- a/pc/test/peer_connection_test_wrapper.cc +++ b/pc/test/peer_connection_test_wrapper.cc @@ -19,6 +19,7 @@ #include "absl/strings/match.h" #include "absl/types/optional.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_mixer.h" #include "api/audio/audio_processing.h" #include "api/create_peerconnection_factory.h" @@ -38,7 +39,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/engine/simulcast_encoder_adapter.h" -#include "modules/audio_device/include/audio_device.h" #include "p2p/base/fake_port_allocator.h" #include "p2p/base/port_allocator.h" #include "pc/test/fake_periodic_video_source.h" diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index 8dba298cdd..7620217690 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -234,7 +234,7 @@ if (is_ios || is_mac) { deps = [ ":audio_device", "../api:make_ref_counted", - "../modules/audio_device:audio_device_api", + "../api/audio:audio_device", "../modules/audio_device:audio_device_generic", "../rtc_base:checks", "../rtc_base:logging", @@ -298,10 +298,10 @@ if (is_ios || is_mac) { "../api:array_view", "../api:scoped_refptr", "../api:sequence_checker", + "../api/audio:audio_device", "../api/task_queue", "../api/task_queue:default_task_queue_factory", "../api/task_queue:pending_task_safety_flag", - "../modules/audio_device:audio_device_api", "../modules/audio_device:audio_device_buffer", "../modules/audio_device:audio_device_config", "../modules/audio_device:audio_device_generic", @@ -497,9 +497,9 @@ if (is_ios || is_mac) { "../api:refcountedbase", "../api:scoped_refptr", "../api:sequence_checker", + "../api/audio:audio_device", "../api/task_queue", "../api/task_queue:default_task_queue_factory", - "../modules/audio_device:audio_device_api", "../modules/audio_device:audio_device_buffer", "../rtc_base:buffer", "../rtc_base:checks", @@ -525,7 +525,7 @@ if (is_ios || is_mac) { ":audio_device_api_objc", ":audio_device_objc", "../api:make_ref_counted", - "../modules/audio_device:audio_device_api", + "../api/audio:audio_device", "../rtc_base:logging", ] if (is_mac) { @@ -1066,6 +1066,7 @@ if (is_ios || is_mac) { "../api:rtp_parameters", "../api:rtp_sender_interface", "../api:scoped_refptr", + "../api/audio:audio_device", "../api/audio:audio_processing", "../api/audio_codecs:audio_codecs_api", "../api/audio_codecs:builtin_audio_decoder_factory", @@ -1081,7 +1082,6 @@ if (is_ios || is_mac) { "../common_video", "../media:media_constants", "../media:rtc_media_base", - "../modules/audio_device:audio_device_api", "../modules/audio_processing", "../modules/video_coding:video_codec_interface", "../pc:peer_connection_factory", @@ -1169,6 +1169,7 @@ if (is_ios || is_mac) { ":videosource_objc", ":videotoolbox_objc", "../api:scoped_refptr", + "../api/audio:audio_device", "../api/audio:audio_processing", "../api/audio_codecs:builtin_audio_decoder_factory", "../api/audio_codecs:builtin_audio_encoder_factory", @@ -1180,7 +1181,6 @@ if (is_ios || is_mac) { "../media:codec", "../media:rtc_media_base", "../media:rtc_media_tests_utils", - "../modules/audio_device:audio_device_api", "../modules/video_coding:video_codec_interface", "../rtc_base:gunit_helpers", "../rtc_base:macromagic", diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn index ea640abf49..593ed361ed 100644 --- a/sdk/android/BUILD.gn +++ b/sdk/android/BUILD.gn @@ -782,6 +782,7 @@ if (current_os == "linux" || is_android) { "../../api:rtp_parameters", "../../api:rtp_sender_interface", "../../api:turn_customizer", + "../../api/audio:audio_device", "../../api/audio:audio_processing", "../../api/crypto:options", "../../api/rtc_event_log:rtc_event_log_factory", @@ -990,7 +991,7 @@ if (current_os == "linux" || is_android) { ":native_api_jni", ":opensles_audio_device_module", "../../api:scoped_refptr", - "../../modules/audio_device:audio_device_api", + "../../api/audio:audio_device", "../../rtc_base:checks", "../../rtc_base:logging", "../../rtc_base:refcount", @@ -1172,9 +1173,9 @@ if (current_os == "linux" || is_android) { ":native_api_jni", "../../api:make_ref_counted", "../../api:sequence_checker", + "../../api/audio:audio_device", "../../api/task_queue", "../../api/task_queue:default_task_queue_factory", - "../../modules/audio_device:audio_device_api", "../../modules/audio_device:audio_device_buffer", "../../rtc_base:checks", "../../rtc_base:logging", @@ -1197,7 +1198,7 @@ if (current_os == "linux" || is_android) { ":base_jni", ":generated_java_audio_device_module_native_jni", "../../api:sequence_checker", - "../../modules/audio_device:audio_device_api", + "../../api/audio:audio_device", "../../modules/audio_device:audio_device_buffer", "../../rtc_base:checks", "../../rtc_base:logging", @@ -1260,7 +1261,7 @@ if (current_os == "linux" || is_android) { "../../api:refcountedbase", "../../api:scoped_refptr", "../../api:sequence_checker", - "../../modules/audio_device:audio_device_api", + "../../api/audio:audio_device", "../../modules/audio_device:audio_device_buffer", "../../rtc_base:checks", "../../rtc_base:logging", @@ -1647,6 +1648,7 @@ if (is_android) { "../../api:enable_media_with_defaults", "../../api:field_trials_view", "../../api:scoped_refptr", + "../../api/audio:audio_device", "../../api/environment", "../../api/environment:environment_factory", "../../api/rtc_event_log:rtc_event_log_factory", diff --git a/sdk/android/native_api/audio_device_module/audio_device_android.h b/sdk/android/native_api/audio_device_module/audio_device_android.h index b687dcab5b..587d0041c9 100644 --- a/sdk/android/native_api/audio_device_module/audio_device_android.h +++ b/sdk/android/native_api/audio_device_module/audio_device_android.h @@ -13,7 +13,7 @@ #include -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" namespace webrtc { diff --git a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc index 90476413a2..f75c596a5b 100644 --- a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc +++ b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include #include diff --git a/sdk/android/src/jni/audio_device/aaudio_player.h b/sdk/android/src/jni/audio_device/aaudio_player.h index 7286d6e872..ddf948ca45 100644 --- a/sdk/android/src/jni/audio_device/aaudio_player.h +++ b/sdk/android/src/jni/audio_device/aaudio_player.h @@ -16,10 +16,10 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_base.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "rtc_base/thread_annotations.h" #include "sdk/android/src/jni/audio_device/aaudio_wrapper.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" diff --git a/sdk/android/src/jni/audio_device/aaudio_recorder.h b/sdk/android/src/jni/audio_device/aaudio_recorder.h index 016c9b00af..5d6881ac3f 100644 --- a/sdk/android/src/jni/audio_device/aaudio_recorder.h +++ b/sdk/android/src/jni/audio_device/aaudio_recorder.h @@ -15,10 +15,10 @@ #include +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_base.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "sdk/android/src/jni/audio_device/aaudio_wrapper.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" diff --git a/sdk/android/src/jni/audio_device/aaudio_wrapper.h b/sdk/android/src/jni/audio_device/aaudio_wrapper.h index cbc78a0a25..d95353f6b7 100644 --- a/sdk/android/src/jni/audio_device/aaudio_wrapper.h +++ b/sdk/android/src/jni/audio_device/aaudio_wrapper.h @@ -13,8 +13,8 @@ #include +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" -#include "modules/audio_device/include/audio_device_defines.h" namespace webrtc { diff --git a/sdk/android/src/jni/audio_device/audio_device_module.h b/sdk/android/src/jni/audio_device/audio_device_module.h index e8acc9031e..92dbb21e0a 100644 --- a/sdk/android/src/jni/audio_device/audio_device_module.h +++ b/sdk/android/src/jni/audio_device/audio_device_module.h @@ -14,7 +14,7 @@ #include #include "absl/types/optional.h" -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" #include "sdk/android/native_api/jni/scoped_java_ref.h" namespace webrtc { diff --git a/sdk/android/src/jni/audio_device/audio_record_jni.h b/sdk/android/src/jni/audio_device/audio_record_jni.h index 49c905daaf..72e6157b88 100644 --- a/sdk/android/src/jni/audio_device/audio_record_jni.h +++ b/sdk/android/src/jni/audio_device/audio_record_jni.h @@ -15,9 +15,9 @@ #include +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" namespace webrtc { diff --git a/sdk/android/src/jni/audio_device/audio_track_jni.h b/sdk/android/src/jni/audio_device/audio_track_jni.h index 5ca907c42f..10f3ee7c35 100644 --- a/sdk/android/src/jni/audio_device/audio_track_jni.h +++ b/sdk/android/src/jni/audio_device/audio_track_jni.h @@ -16,9 +16,9 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device_defines.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "sdk/android/src/jni/audio_device/audio_common.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" diff --git a/sdk/android/src/jni/audio_device/opensles_player.h b/sdk/android/src/jni/audio_device/opensles_player.h index 8a22432309..3d63bd7fd9 100644 --- a/sdk/android/src/jni/audio_device/opensles_player.h +++ b/sdk/android/src/jni/audio_device/opensles_player.h @@ -18,11 +18,11 @@ #include #include "absl/types/optional.h" +#include "api/audio/audio_device_defines.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/fine_audio_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "sdk/android/src/jni/audio_device/audio_common.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" #include "sdk/android/src/jni/audio_device/opensles_common.h" diff --git a/sdk/android/src/jni/audio_device/opensles_recorder.h b/sdk/android/src/jni/audio_device/opensles_recorder.h index 93c4e4eec9..bffe0864b7 100644 --- a/sdk/android/src/jni/audio_device/opensles_recorder.h +++ b/sdk/android/src/jni/audio_device/opensles_recorder.h @@ -17,11 +17,11 @@ #include +#include "api/audio/audio_device_defines.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" #include "modules/audio_device/audio_device_buffer.h" #include "modules/audio_device/fine_audio_buffer.h" -#include "modules/audio_device/include/audio_device_defines.h" #include "sdk/android/src/jni/audio_device/audio_common.h" #include "sdk/android/src/jni/audio_device/audio_device_module.h" #include "sdk/android/src/jni/audio_device/opensles_common.h" diff --git a/sdk/android/src/jni/pc/peer_connection_factory.cc b/sdk/android/src/jni/pc/peer_connection_factory.cc index ace3a56069..9d4f94f16c 100644 --- a/sdk/android/src/jni/pc/peer_connection_factory.cc +++ b/sdk/android/src/jni/pc/peer_connection_factory.cc @@ -14,13 +14,13 @@ #include #include "absl/memory/memory.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/enable_media.h" #include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/task_queue/default_task_queue_factory.h" #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/utility/include/jvm_android.h" #include "rtc_base/event_tracer.h" #include "rtc_base/physical_socket_server.h" diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm index 6a393b0115..eb03d68468 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm @@ -31,6 +31,7 @@ #include "sdk/objc/native/api/ssl_certificate_verifier.h" #include "system_wrappers/include/field_trial.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" @@ -41,7 +42,6 @@ #import "components/video_codec/RTCVideoDecoderFactoryH264.h" #import "components/video_codec/RTCVideoEncoderFactoryH264.h" #include "media/base/media_constants.h" -#include "modules/audio_device/include/audio_device.h" #include "sdk/objc/native/api/objc_audio_device_module.h" #include "sdk/objc/native/api/video_decoder_factory.h" diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.mm index caec4a652a..28ded10035 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.mm @@ -11,12 +11,12 @@ #import "RTCPeerConnectionFactoryBuilder.h" #import "RTCPeerConnectionFactory+Native.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory.h" #include "api/audio_codecs/audio_encoder_factory.h" #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" -#include "modules/audio_device/include/audio_device.h" @implementation RTCPeerConnectionFactoryBuilder { std::unique_ptr _videoEncoderFactory; diff --git a/sdk/objc/native/api/audio_device_module.h b/sdk/objc/native/api/audio_device_module.h index 3405469709..a58b085a3a 100644 --- a/sdk/objc/native/api/audio_device_module.h +++ b/sdk/objc/native/api/audio_device_module.h @@ -13,7 +13,7 @@ #include -#include "modules/audio_device/include/audio_device.h" +#include "api/audio/audio_device.h" namespace webrtc { diff --git a/sdk/objc/native/api/objc_audio_device_module.h b/sdk/objc/native/api/objc_audio_device_module.h index 0fe2dda4a0..be1950e0c2 100644 --- a/sdk/objc/native/api/objc_audio_device_module.h +++ b/sdk/objc/native/api/objc_audio_device_module.h @@ -11,8 +11,8 @@ #ifndef SDK_OBJC_NATIVE_API_OBJC_AUDIO_DEVICE_MODULE_H_ #define SDK_OBJC_NATIVE_API_OBJC_AUDIO_DEVICE_MODULE_H_ +#include "api/audio/audio_device.h" #import "components/audio/RTCAudioDevice.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc { diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.h b/sdk/objc/native/src/audio/audio_device_module_ios.h index 189d7e6c9c..f4487a5cdd 100644 --- a/sdk/objc/native/src/audio/audio_device_module_ios.h +++ b/sdk/objc/native/src/audio/audio_device_module_ios.h @@ -13,10 +13,10 @@ #include +#include "api/audio/audio_device.h" #include "api/task_queue/task_queue_factory.h" #include "audio_device_ios.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/checks.h" namespace webrtc { diff --git a/sdk/objc/native/src/objc_audio_device.h b/sdk/objc/native/src/objc_audio_device.h index fcfe7a6e8b..a9c1ae973e 100644 --- a/sdk/objc/native/src/objc_audio_device.h +++ b/sdk/objc/native/src/objc_audio_device.h @@ -15,8 +15,8 @@ #import "components/audio/RTCAudioDevice.h" +#include "api/audio/audio_device.h" #include "modules/audio_device/audio_device_buffer.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/thread.h" @class ObjCAudioDeviceDelegate; diff --git a/sdk/objc/unittests/RTCPeerConnectionFactoryBuilderTest.mm b/sdk/objc/unittests/RTCPeerConnectionFactoryBuilderTest.mm index 83dc38e354..807c5501db 100644 --- a/sdk/objc/unittests/RTCPeerConnectionFactoryBuilderTest.mm +++ b/sdk/objc/unittests/RTCPeerConnectionFactoryBuilderTest.mm @@ -21,12 +21,12 @@ extern "C" { #import "api/peerconnection/RTCPeerConnectionFactoryBuilder+DefaultComponents.h" #import "api/peerconnection/RTCPeerConnectionFactoryBuilder.h" +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" -#include "modules/audio_device/include/audio_device.h" #include "rtc_base/gunit.h" #include "rtc_base/system/unused.h" diff --git a/test/BUILD.gn b/test/BUILD.gn index 26ada7fcc3..d1554d750d 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -1270,6 +1270,7 @@ if (!build_with_chromium) { "../api:rtp_parameters", "../api:simulated_network_api", "../api:transport_api", + "../api/audio:audio_device", "../api/audio_codecs:builtin_audio_decoder_factory", "../api/audio_codecs:builtin_audio_encoder_factory", "../api/environment", @@ -1289,7 +1290,6 @@ if (!build_with_chromium) { "../call:simulated_network", "../call:simulated_packet_receiver", "../call:video_stream_api", - "../modules/audio_device:audio_device_api", "../modules/audio_device:test_audio_device_module", "../modules/audio_mixer:audio_mixer_impl", "../modules/rtp_rtcp", diff --git a/test/call_test.cc b/test/call_test.cc index b3a7e73e82..cb2c0f0947 100644 --- a/test/call_test.cc +++ b/test/call_test.cc @@ -13,6 +13,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/environment/environment.h" @@ -23,7 +24,6 @@ #include "call/fake_network_pipe.h" #include "call/packet_receiver.h" #include "call/simulated_network.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/test_audio_device.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "rtc_base/checks.h" diff --git a/test/call_test.h b/test/call_test.h index decf02f20b..46ea7f7728 100644 --- a/test/call_test.h +++ b/test/call_test.h @@ -17,6 +17,7 @@ #include "absl/types/optional.h" #include "api/array_view.h" +#include "api/audio/audio_device.h" #include "api/environment/environment.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/task_queue/task_queue_base.h" @@ -27,7 +28,6 @@ #include "api/units/time_delta.h" #include "api/video/video_bitrate_allocator_factory.h" #include "call/call.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/test_audio_device.h" #include "test/encoder_settings.h" #include "test/fake_decoder.h" diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn index 8d85f6e2ca..33bd3d84b8 100644 --- a/test/scenario/BUILD.gn +++ b/test/scenario/BUILD.gn @@ -87,6 +87,7 @@ if (rtc_include_tests && !build_with_chromium) { "../../api:sequence_checker", "../../api:time_controller", "../../api:transport_api", + "../../api/audio:audio_device", "../../api/audio_codecs:builtin_audio_decoder_factory", "../../api/audio_codecs:builtin_audio_encoder_factory", "../../api/environment", diff --git a/test/scenario/call_client.h b/test/scenario/call_client.h index f3c483ef28..c5f558138a 100644 --- a/test/scenario/call_client.h +++ b/test/scenario/call_client.h @@ -17,13 +17,13 @@ #include #include "api/array_view.h" +#include "api/audio/audio_device.h" #include "api/environment/environment.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/rtp_parameters.h" #include "api/test/time_controller.h" #include "api/units/data_rate.h" #include "call/call.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/congestion_controller/goog_cc/test/goog_cc_printer.h" #include "modules/rtp_rtcp/include/rtp_header_extension_map.h" #include "rtc_base/task_queue_for_test.h" diff --git a/video/BUILD.gn b/video/BUILD.gn index cf724b7a72..2f25d3a33a 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -520,6 +520,7 @@ if (rtc_include_tests) { "../api:rtc_event_log_output_file", "../api:test_dependency_factory", "../api:video_quality_test_fixture_api", + "../api/audio:audio_device", "../api/environment", "../api/numerics", "../api/rtc_event_log:rtc_event_log_factory", @@ -539,7 +540,6 @@ if (rtc_include_tests) { "../media:rtc_audio_video", "../media:rtc_internal_video_codecs", "../media:rtc_simulcast_encoder_adapter", - "../modules/audio_device:audio_device_api", "../modules/audio_device:audio_device_module_from_input_and_output", "../modules/audio_device:windows_core_audio_utility", "../modules/audio_mixer:audio_mixer_impl", diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc index 28bdca9a09..995fadad39 100644 --- a/video/video_quality_test.cc +++ b/video/video_quality_test.cc @@ -22,6 +22,7 @@ #include #include +#include "api/audio/audio_device.h" #include "api/fec_controller_override.h" #include "api/rtc_event_log_output_file.h" #include "api/task_queue/default_task_queue_factory.h" @@ -37,7 +38,6 @@ #include "media/engine/internal_encoder_factory.h" #include "media/engine/simulcast_encoder_adapter.h" #include "media/engine/webrtc_video_engine.h" -#include "modules/audio_device/include/audio_device.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "modules/video_coding/codecs/h264/include/h264.h" #include "modules/video_coding/codecs/vp8/include/vp8.h" diff --git a/webrtc_lib_link_test.cc b/webrtc_lib_link_test.cc index 0148a54a70..e3a7a7ba34 100644 --- a/webrtc_lib_link_test.cc +++ b/webrtc_lib_link_test.cc @@ -8,6 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ +#include "api/audio/audio_device.h" #include "api/audio/audio_processing.h" #include "api/audio_codecs/audio_decoder_factory_template.h" #include "api/audio_codecs/audio_encoder_factory_template.h" @@ -29,7 +30,6 @@ #include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" #include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" #include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" -#include "modules/audio_device/include/audio_device.h" namespace webrtc {