From 087bd34d23dee541915aae59781bf3ef033d8082 Mon Sep 17 00:00:00 2001 From: kwiberg Date: Fri, 10 Feb 2017 08:15:44 -0800 Subject: [PATCH] Move AudioDecoder and related stuff to the api/ directory BUG=webrtc:5805, webrtc:6725 Review-Url: https://codereview.webrtc.org/2668523004 Cr-Commit-Position: refs/heads/master@{#16534} --- webrtc/api/BUILD.gn | 2 +- webrtc/api/DEPS | 10 +- webrtc/api/audio_codecs/BUILD.gn | 39 ++++ .../audio_codecs}/audio_decoder.cc | 64 +++++-- webrtc/api/audio_codecs/audio_decoder.h | 177 ++++++++++++++++++ .../audio_codecs}/audio_decoder_factory.h | 11 +- .../audio_codecs}/audio_format.cc | 5 +- .../audio_codecs}/audio_format.h | 10 +- .../builtin_audio_decoder_factory.cc | 21 +++ .../builtin_audio_decoder_factory.h | 25 +++ webrtc/api/peerconnectioninterface.h | 4 +- webrtc/call/audio_receive_stream.h | 2 +- webrtc/logging/BUILD.gn | 2 +- webrtc/media/base/mediaengine.h | 2 +- webrtc/media/engine/payload_type_mapper.cc | 2 +- webrtc/media/engine/payload_type_mapper.h | 2 +- webrtc/media/engine/webrtcmediaengine.cc | 5 +- .../engine/webrtcmediaengine_unittest.cc | 2 +- .../engine/webrtcvoiceengine_unittest.cc | 6 +- webrtc/modules/audio_coding/BUILD.gn | 126 ++++++------- .../audio_coding/acm2/acm_receive_test.cc | 2 +- .../audio_coding/acm2/acm_receive_test.h | 2 +- .../modules/audio_coding/acm2/acm_receiver.cc | 2 +- .../acm2/acm_receiver_unittest.cc | 2 +- .../audio_coding/acm2/audio_coding_module.cc | 2 +- .../acm2/audio_coding_module_unittest.cc | 2 +- .../modules/audio_coding/acm2/rent_a_codec.h | 4 +- .../audio_coding/codecs/audio_decoder.h | 169 +---------------- .../codecs/audio_format_conversion.h | 2 +- .../codecs/builtin_audio_decoder_factory.h | 17 +- ...builtin_audio_decoder_factory_internal.cc} | 43 +++-- .../builtin_audio_decoder_factory_internal.h | 24 +++ ...builtin_audio_decoder_factory_unittest.cc} | 2 +- .../codecs/g711/audio_decoder_pcm.h | 2 +- .../codecs/g722/audio_decoder_g722.h | 2 +- .../codecs/ilbc/audio_decoder_ilbc.h | 2 +- .../codecs/isac/audio_decoder_isac_t.h | 2 +- .../codecs/legacy_encoded_audio_frame.h | 2 +- .../codecs/mock/mock_audio_decoder_factory.h | 4 +- .../codecs/opus/audio_decoder_opus.h | 2 +- .../codecs/pcm16b/audio_decoder_pcm16b.h | 2 +- .../include/audio_coding_module.h | 2 +- .../audio_coding/neteq/audio_decoder_impl.h | 7 +- .../audio_coding/neteq/comfort_noise.cc | 2 +- .../audio_coding/neteq/decoder_database.cc | 2 +- .../audio_coding/neteq/decoder_database.h | 4 +- .../neteq/decoder_database_unittest.cc | 2 +- .../neteq/mock/mock_audio_decoder.h | 3 +- .../neteq/mock/mock_external_decoder_pcm16b.h | 3 +- .../neteq/neteq_external_decoder_unittest.cc | 2 +- .../modules/audio_coding/neteq/neteq_impl.cc | 6 +- .../audio_coding/neteq/neteq_impl_unittest.cc | 7 +- .../neteq/neteq_stereo_unittest.cc | 2 +- .../audio_coding/neteq/neteq_unittest.cc | 2 +- webrtc/modules/audio_coding/neteq/normal.cc | 2 +- webrtc/modules/audio_coding/neteq/packet.h | 2 +- .../audio_coding/neteq/packet_buffer.cc | 2 +- .../neteq/packet_buffer_unittest.cc | 5 +- .../audio_coding/neteq/post_decode_vad.h | 2 +- .../neteq/red_payload_splitter_unittest.cc | 2 +- .../neteq/timestamp_scaler_unittest.cc | 5 +- .../neteq/tools/fake_decode_from_file.h | 2 +- .../tools/neteq_external_decoder_test.cc | 2 +- .../neteq/tools/neteq_external_decoder_test.h | 2 +- .../neteq/tools/neteq_performance_test.cc | 2 +- .../neteq/tools/neteq_quality_test.cc | 3 +- .../audio_coding/neteq/tools/neteq_test.cc | 2 +- .../audio_coding/test/TwoWayCommunication.cc | 2 +- webrtc/modules/utility/BUILD.gn | 4 - webrtc/pc/peerconnectionfactory.cc | 2 +- webrtc/pc/peerconnectioninterface_unittest.cc | 2 +- webrtc/test/call_test.cc | 2 +- webrtc/test/fuzzers/audio_decoder_fuzzer.cc | 2 +- webrtc/tools/BUILD.gn | 2 +- webrtc/voice_engine/BUILD.gn | 6 +- webrtc/voice_engine/coder.cc | 2 +- webrtc/voice_engine/include/voe_base.h | 4 +- webrtc/voice_engine/voe_base_impl.cc | 2 +- 78 files changed, 535 insertions(+), 380 deletions(-) create mode 100644 webrtc/api/audio_codecs/BUILD.gn rename webrtc/{modules/audio_coding/codecs => api/audio_codecs}/audio_decoder.cc (66%) create mode 100644 webrtc/api/audio_codecs/audio_decoder.h rename webrtc/{modules/audio_coding/codecs => api/audio_codecs}/audio_decoder_factory.h (72%) rename webrtc/{modules/audio_coding/codecs => api/audio_codecs}/audio_format.cc (95%) rename webrtc/{modules/audio_coding/codecs => api/audio_codecs}/audio_format.h (88%) create mode 100644 webrtc/api/audio_codecs/builtin_audio_decoder_factory.cc create mode 100644 webrtc/api/audio_codecs/builtin_audio_decoder_factory.h rename webrtc/modules/audio_coding/codecs/{builtin_audio_decoder_factory.cc => builtin_audio_decoder_factory_internal.cc} (88%) create mode 100644 webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h rename webrtc/modules/audio_coding/codecs/{audio_decoder_factory_unittest.cc => builtin_audio_decoder_factory_unittest.cc} (98%) diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn index 8c443cb478..2e3d5fe25d 100644 --- a/webrtc/api/BUILD.gn +++ b/webrtc/api/BUILD.gn @@ -29,8 +29,8 @@ rtc_source_set("call_api") { ":transport_api", "..:webrtc_common", "../base:rtc_base_approved", - "../modules/audio_coding:audio_decoder_factory_interface", "../modules/audio_coding:audio_encoder_interface", + "audio_codecs:audio_codecs_api", ] } diff --git a/webrtc/api/DEPS b/webrtc/api/DEPS index 4543a44d75..0b3778bde2 100644 --- a/webrtc/api/DEPS +++ b/webrtc/api/DEPS @@ -12,9 +12,11 @@ specific_include_rules = { "+webrtc/voice_engine", ], - # TODO(kwiberg): Remove this exception when audio_decoder_factory.h - # has moved to api/. - "peerconnectioninterface\.h": [ - "+webrtc/modules/audio_coding/codecs/audio_decoder_factory.h", + # We allow .cc files in webrtc/api/ to #include a bunch of stuff + # that's off-limits for the .h files. That's because .h files leak + # their #includes to whoever's #including them, but .cc files do not + # since no one #includes them. + ".*\.cc": [ + "+webrtc/modules/audio_coding", ], } diff --git a/webrtc/api/audio_codecs/BUILD.gn b/webrtc/api/audio_codecs/BUILD.gn new file mode 100644 index 0000000000..c003df838d --- /dev/null +++ b/webrtc/api/audio_codecs/BUILD.gn @@ -0,0 +1,39 @@ +# Copyright (c) 2017 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. + +import("../../webrtc.gni") +if (is_android) { + import("//build/config/android/config.gni") + import("//build/config/android/rules.gni") +} + +rtc_source_set("audio_codecs_api") { + sources = [ + "audio_decoder.cc", + "audio_decoder.h", + "audio_decoder_factory.h", + "audio_format.cc", + "audio_format.h", + ] + deps = [ + "../..:webrtc_common", + "../../base:rtc_base_approved", + ] +} + +rtc_static_library("builtin_audio_decoder_factory") { + sources = [ + "builtin_audio_decoder_factory.cc", + "builtin_audio_decoder_factory.h", + ] + deps = [ + ":audio_codecs_api", + "../../base:rtc_base_approved", + "../../modules/audio_coding:builtin_audio_decoder_factory_internal", + ] +} diff --git a/webrtc/modules/audio_coding/codecs/audio_decoder.cc b/webrtc/api/audio_codecs/audio_decoder.cc similarity index 66% rename from webrtc/modules/audio_coding/codecs/audio_decoder.cc rename to webrtc/api/audio_codecs/audio_decoder.cc index afa5115d5a..90342a83b4 100644 --- a/webrtc/modules/audio_coding/codecs/audio_decoder.cc +++ b/webrtc/api/audio_codecs/audio_decoder.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" +#include "webrtc/api/audio_codecs/audio_decoder.h" #include #include @@ -18,10 +18,39 @@ #include "webrtc/base/checks.h" #include "webrtc/base/sanitizer.h" #include "webrtc/base/trace_event.h" -#include "webrtc/modules/audio_coding/codecs/legacy_encoded_audio_frame.h" namespace webrtc { +namespace { + +class OldStyleEncodedFrame final : public AudioDecoder::EncodedAudioFrame { + public: + OldStyleEncodedFrame(AudioDecoder* decoder, rtc::Buffer&& payload) + : decoder_(decoder), payload_(std::move(payload)) {} + + size_t Duration() const override { + const int ret = decoder_->PacketDuration(payload_.data(), payload_.size()); + return ret < 0 ? 0 : static_cast(ret); + } + + rtc::Optional Decode( + rtc::ArrayView decoded) const override { + auto speech_type = AudioDecoder::kSpeech; + const int ret = decoder_->Decode( + payload_.data(), payload_.size(), decoder_->SampleRateHz(), + decoded.size() * sizeof(int16_t), decoded.data(), &speech_type); + return ret < 0 ? rtc::Optional() + : rtc::Optional( + {static_cast(ret), speech_type}); + } + + private: + AudioDecoder* const decoder_; + const rtc::Buffer payload_; +}; + +} // namespace + AudioDecoder::ParseResult::ParseResult() = default; AudioDecoder::ParseResult::ParseResult(ParseResult&& b) = default; AudioDecoder::ParseResult::ParseResult(uint32_t timestamp, @@ -41,14 +70,17 @@ std::vector AudioDecoder::ParsePayload( uint32_t timestamp) { std::vector results; std::unique_ptr frame( - new LegacyEncodedAudioFrame(this, std::move(payload))); + new OldStyleEncodedFrame(this, std::move(payload))); results.emplace_back(timestamp, 0, std::move(frame)); return results; } -int AudioDecoder::Decode(const uint8_t* encoded, size_t encoded_len, - int sample_rate_hz, size_t max_decoded_bytes, - int16_t* decoded, SpeechType* speech_type) { +int AudioDecoder::Decode(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + size_t max_decoded_bytes, + int16_t* decoded, + SpeechType* speech_type) { TRACE_EVENT0("webrtc", "AudioDecoder::Decode"); rtc::MsanCheckInitialized(rtc::MakeArrayView(encoded, encoded_len)); int duration = PacketDuration(encoded, encoded_len); @@ -60,9 +92,12 @@ int AudioDecoder::Decode(const uint8_t* encoded, size_t encoded_len, speech_type); } -int AudioDecoder::DecodeRedundant(const uint8_t* encoded, size_t encoded_len, - int sample_rate_hz, size_t max_decoded_bytes, - int16_t* decoded, SpeechType* speech_type) { +int AudioDecoder::DecodeRedundant(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + size_t max_decoded_bytes, + int16_t* decoded, + SpeechType* speech_type) { TRACE_EVENT0("webrtc", "AudioDecoder::DecodeRedundant"); rtc::MsanCheckInitialized(rtc::MakeArrayView(encoded, encoded_len)); int duration = PacketDurationRedundant(encoded, encoded_len); @@ -76,13 +111,16 @@ int AudioDecoder::DecodeRedundant(const uint8_t* encoded, size_t encoded_len, int AudioDecoder::DecodeRedundantInternal(const uint8_t* encoded, size_t encoded_len, - int sample_rate_hz, int16_t* decoded, + int sample_rate_hz, + int16_t* decoded, SpeechType* speech_type) { return DecodeInternal(encoded, encoded_len, sample_rate_hz, decoded, speech_type); } -bool AudioDecoder::HasDecodePlc() const { return false; } +bool AudioDecoder::HasDecodePlc() const { + return false; +} size_t AudioDecoder::DecodePlc(size_t num_frames, int16_t* decoded) { return 0; @@ -96,7 +134,9 @@ int AudioDecoder::IncomingPacket(const uint8_t* payload, return 0; } -int AudioDecoder::ErrorCode() { return 0; } +int AudioDecoder::ErrorCode() { + return 0; +} int AudioDecoder::PacketDuration(const uint8_t* encoded, size_t encoded_len) const { diff --git a/webrtc/api/audio_codecs/audio_decoder.h b/webrtc/api/audio_codecs/audio_decoder.h new file mode 100644 index 0000000000..dab7d3b273 --- /dev/null +++ b/webrtc/api/audio_codecs/audio_decoder.h @@ -0,0 +1,177 @@ +/* + * 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 WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_H_ +#define WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_H_ + +#include +#include + +#include "webrtc/base/array_view.h" +#include "webrtc/base/buffer.h" +#include "webrtc/base/constructormagic.h" +#include "webrtc/base/optional.h" +#include "webrtc/typedefs.h" + +namespace webrtc { + +class AudioDecoder { + public: + enum SpeechType { + kSpeech = 1, + kComfortNoise = 2, + }; + + // Used by PacketDuration below. Save the value -1 for errors. + enum { kNotImplemented = -2 }; + + AudioDecoder() = default; + virtual ~AudioDecoder() = default; + + class EncodedAudioFrame { + public: + struct DecodeResult { + size_t num_decoded_samples; + SpeechType speech_type; + }; + + virtual ~EncodedAudioFrame() = default; + + // Returns the duration in samples-per-channel of this audio frame. + // If no duration can be ascertained, returns zero. + virtual size_t Duration() const = 0; + + // Decodes this frame of audio and writes the result in |decoded|. + // |decoded| must be large enough to store as many samples as indicated by a + // call to Duration() . On success, returns an rtc::Optional containing the + // total number of samples across all channels, as well as whether the + // decoder produced comfort noise or speech. On failure, returns an empty + // rtc::Optional. Decode may be called at most once per frame object. + virtual rtc::Optional Decode( + rtc::ArrayView decoded) const = 0; + }; + + struct ParseResult { + ParseResult(); + ParseResult(uint32_t timestamp, + int priority, + std::unique_ptr frame); + ParseResult(ParseResult&& b); + ~ParseResult(); + + ParseResult& operator=(ParseResult&& b); + + // The timestamp of the frame is in samples per channel. + uint32_t timestamp; + // The relative priority of the frame compared to other frames of the same + // payload and the same timeframe. A higher value means a lower priority. + // The highest priority is zero - negative values are not allowed. + int priority; + std::unique_ptr frame; + }; + + // Let the decoder parse this payload and prepare zero or more decodable + // frames. Each frame must be between 10 ms and 120 ms long. The caller must + // ensure that the AudioDecoder object outlives any frame objects returned by + // this call. The decoder is free to swap or move the data from the |payload| + // buffer. |timestamp| is the input timestamp, in samples, corresponding to + // the start of the payload. + virtual std::vector ParsePayload(rtc::Buffer&& payload, + uint32_t timestamp); + + // Decodes |encode_len| bytes from |encoded| and writes the result in + // |decoded|. The maximum bytes allowed to be written into |decoded| is + // |max_decoded_bytes|. Returns the total number of samples across all + // channels. If the decoder produced comfort noise, |speech_type| + // is set to kComfortNoise, otherwise it is kSpeech. The desired output + // sample rate is provided in |sample_rate_hz|, which must be valid for the + // codec at hand. + int Decode(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + size_t max_decoded_bytes, + int16_t* decoded, + SpeechType* speech_type); + + // Same as Decode(), but interfaces to the decoders redundant decode function. + // The default implementation simply calls the regular Decode() method. + int DecodeRedundant(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + size_t max_decoded_bytes, + int16_t* decoded, + SpeechType* speech_type); + + // Indicates if the decoder implements the DecodePlc method. + virtual bool HasDecodePlc() const; + + // Calls the packet-loss concealment of the decoder to update the state after + // one or several lost packets. The caller has to make sure that the + // memory allocated in |decoded| should accommodate |num_frames| frames. + virtual size_t DecodePlc(size_t num_frames, int16_t* decoded); + + // Resets the decoder state (empty buffers etc.). + virtual void Reset() = 0; + + // Notifies the decoder of an incoming packet to NetEQ. + virtual int IncomingPacket(const uint8_t* payload, + size_t payload_len, + uint16_t rtp_sequence_number, + uint32_t rtp_timestamp, + uint32_t arrival_timestamp); + + // Returns the last error code from the decoder. + virtual int ErrorCode(); + + // Returns the duration in samples-per-channel of the payload in |encoded| + // which is |encoded_len| bytes long. Returns kNotImplemented if no duration + // estimate is available, or -1 in case of an error. + virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const; + + // Returns the duration in samples-per-channel of the redandant payload in + // |encoded| which is |encoded_len| bytes long. Returns kNotImplemented if no + // duration estimate is available, or -1 in case of an error. + virtual int PacketDurationRedundant(const uint8_t* encoded, + size_t encoded_len) const; + + // Detects whether a packet has forward error correction. The packet is + // comprised of the samples in |encoded| which is |encoded_len| bytes long. + // Returns true if the packet has FEC and false otherwise. + virtual bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const; + + // Returns the actual sample rate of the decoder's output. This value may not + // change during the lifetime of the decoder. + virtual int SampleRateHz() const = 0; + + // The number of channels in the decoder's output. This value may not change + // during the lifetime of the decoder. + virtual size_t Channels() const = 0; + + protected: + static SpeechType ConvertSpeechType(int16_t type); + + virtual int DecodeInternal(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + int16_t* decoded, + SpeechType* speech_type) = 0; + + virtual int DecodeRedundantInternal(const uint8_t* encoded, + size_t encoded_len, + int sample_rate_hz, + int16_t* decoded, + SpeechType* speech_type); + + private: + RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoder); +}; + +} // namespace webrtc +#endif // WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_H_ diff --git a/webrtc/modules/audio_coding/codecs/audio_decoder_factory.h b/webrtc/api/audio_codecs/audio_decoder_factory.h similarity index 72% rename from webrtc/modules/audio_coding/codecs/audio_decoder_factory.h rename to webrtc/api/audio_codecs/audio_decoder_factory.h index ca578f3443..3479a4eec9 100644 --- a/webrtc/modules/audio_coding/codecs/audio_decoder_factory.h +++ b/webrtc/api/audio_codecs/audio_decoder_factory.h @@ -8,16 +8,15 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_FACTORY_H_ -#define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_FACTORY_H_ +#ifndef WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_FACTORY_H_ +#define WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_FACTORY_H_ #include #include -#include "webrtc/base/atomicops.h" +#include "webrtc/api/audio_codecs/audio_decoder.h" +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/base/refcount.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" namespace webrtc { @@ -35,4 +34,4 @@ class AudioDecoderFactory : public rtc::RefCountInterface { } // namespace webrtc -#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_FACTORY_H_ +#endif // WEBRTC_API_AUDIO_CODECS_AUDIO_DECODER_FACTORY_H_ diff --git a/webrtc/modules/audio_coding/codecs/audio_format.cc b/webrtc/api/audio_codecs/audio_format.cc similarity index 95% rename from webrtc/modules/audio_coding/codecs/audio_format.cc rename to webrtc/api/audio_codecs/audio_format.cc index f2a87d3d86..b0a86e25bd 100644 --- a/webrtc/modules/audio_coding/codecs/audio_format.cc +++ b/webrtc/api/audio_codecs/audio_format.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/codecs/audio_format.h" +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/common_types.h" @@ -77,8 +77,7 @@ std::ostream& operator<<(std::ostream& os, const SdpAudioFormat& saf) { return os; } -AudioCodecSpec::AudioCodecSpec(const SdpAudioFormat& format) - : format(format) {} +AudioCodecSpec::AudioCodecSpec(const SdpAudioFormat& format) : format(format) {} AudioCodecSpec::AudioCodecSpec(SdpAudioFormat&& format) : format(std::move(format)) {} diff --git a/webrtc/modules/audio_coding/codecs/audio_format.h b/webrtc/api/audio_codecs/audio_format.h similarity index 88% rename from webrtc/modules/audio_coding/codecs/audio_format.h rename to webrtc/api/audio_codecs/audio_format.h index 6f2c8cfa54..db3990f114 100644 --- a/webrtc/modules/audio_coding/codecs/audio_format.h +++ b/webrtc/api/audio_codecs/audio_format.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_ -#define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_ +#ifndef WEBRTC_API_AUDIO_CODECS_AUDIO_FORMAT_H_ +#define WEBRTC_API_AUDIO_CODECS_AUDIO_FORMAT_H_ #include #include @@ -70,12 +70,12 @@ struct AudioCodecSpec { ~AudioCodecSpec() = default; SdpAudioFormat format; - bool allow_comfort_noise = true; // This codec can be used with an external - // comfort noise generator. + bool allow_comfort_noise = true; // This codec can be used with an external + // comfort noise generator. bool supports_network_adaption = false; // This codec can adapt to varying // network conditions. }; } // namespace webrtc -#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_ +#endif // WEBRTC_API_AUDIO_CODECS_AUDIO_FORMAT_H_ diff --git a/webrtc/api/audio_codecs/builtin_audio_decoder_factory.cc b/webrtc/api/audio_codecs/builtin_audio_decoder_factory.cc new file mode 100644 index 0000000000..9bd049b0e6 --- /dev/null +++ b/webrtc/api/audio_codecs/builtin_audio_decoder_factory.cc @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2017 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. + */ + +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" + +#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h" + +namespace webrtc { + +rtc::scoped_refptr CreateBuiltinAudioDecoderFactory() { + return CreateBuiltinAudioDecoderFactoryInternal(); +} + +} // namespace webrtc diff --git a/webrtc/api/audio_codecs/builtin_audio_decoder_factory.h b/webrtc/api/audio_codecs/builtin_audio_decoder_factory.h new file mode 100644 index 0000000000..f7452f495c --- /dev/null +++ b/webrtc/api/audio_codecs/builtin_audio_decoder_factory.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2016 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 WEBRTC_API_AUDIO_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ +#define WEBRTC_API_AUDIO_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ + +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" +#include "webrtc/base/scoped_ref_ptr.h" + +namespace webrtc { + +// Creates a new factory that can create the built-in types of audio decoders. +// NOTE: This function is still under development and may change without notice. +rtc::scoped_refptr CreateBuiltinAudioDecoderFactory(); + +} // namespace webrtc + +#endif // WEBRTC_API_AUDIO_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ diff --git a/webrtc/api/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h index ea94f50442..2a22258a0a 100644 --- a/webrtc/api/peerconnectioninterface.h +++ b/webrtc/api/peerconnectioninterface.h @@ -73,13 +73,14 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/api/datachannelinterface.h" #include "webrtc/api/dtmfsenderinterface.h" #include "webrtc/api/jsep.h" #include "webrtc/api/mediastreaminterface.h" -#include "webrtc/api/stats/rtcstatscollectorcallback.h" #include "webrtc/api/rtpreceiverinterface.h" #include "webrtc/api/rtpsenderinterface.h" +#include "webrtc/api/stats/rtcstatscollectorcallback.h" #include "webrtc/api/statstypes.h" #include "webrtc/api/umametrics.h" #include "webrtc/base/fileutils.h" @@ -89,7 +90,6 @@ #include "webrtc/base/socketaddress.h" #include "webrtc/base/sslstreamadapter.h" #include "webrtc/media/base/mediachannel.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" #include "webrtc/p2p/base/portallocator.h" namespace rtc { diff --git a/webrtc/call/audio_receive_stream.h b/webrtc/call/audio_receive_stream.h index 3841672595..f441c315a3 100644 --- a/webrtc/call/audio_receive_stream.h +++ b/webrtc/call/audio_receive_stream.h @@ -16,10 +16,10 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/api/call/transport.h" #include "webrtc/base/optional.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" #include "webrtc/common_types.h" #include "webrtc/config.h" #include "webrtc/typedefs.h" diff --git a/webrtc/logging/BUILD.gn b/webrtc/logging/BUILD.gn index 3684381a98..52d421e426 100644 --- a/webrtc/logging/BUILD.gn +++ b/webrtc/logging/BUILD.gn @@ -139,7 +139,7 @@ if (rtc_enable_protobuf) { "../base:rtc_base_approved", # TODO(kwiberg): Remove this dependency. - "../modules/audio_coding:audio_format", + "../api/audio_codecs:audio_codecs_api", "../modules/rtp_rtcp:rtp_rtcp", "//third_party/gflags", ] diff --git a/webrtc/media/base/mediaengine.h b/webrtc/media/base/mediaengine.h index 0dbac55954..e5e64f7710 100644 --- a/webrtc/media/base/mediaengine.h +++ b/webrtc/media/base/mediaengine.h @@ -18,6 +18,7 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/api/rtpparameters.h" #include "webrtc/base/fileutils.h" #include "webrtc/base/sigslotrepeater.h" @@ -25,7 +26,6 @@ #include "webrtc/media/base/codec.h" #include "webrtc/media/base/mediachannel.h" #include "webrtc/media/base/videocommon.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" #if defined(GOOGLE_CHROME_BUILD) || defined(CHROMIUM_BUILD) #define DISABLE_MEDIA_ENGINE_FACTORY diff --git a/webrtc/media/engine/payload_type_mapper.cc b/webrtc/media/engine/payload_type_mapper.cc index 496a39ae48..b163f90585 100644 --- a/webrtc/media/engine/payload_type_mapper.cc +++ b/webrtc/media/engine/payload_type_mapper.cc @@ -10,9 +10,9 @@ #include "webrtc/media/engine/payload_type_mapper.h" +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/common_types.h" #include "webrtc/media/base/mediaconstants.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" namespace cricket { diff --git a/webrtc/media/engine/payload_type_mapper.h b/webrtc/media/engine/payload_type_mapper.h index 248aace10b..e634c9aae0 100644 --- a/webrtc/media/engine/payload_type_mapper.h +++ b/webrtc/media/engine/payload_type_mapper.h @@ -14,9 +14,9 @@ #include #include +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/base/optional.h" #include "webrtc/media/base/codec.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" namespace cricket { diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc index 1a828393da..9b5fef2478 100644 --- a/webrtc/media/engine/webrtcmediaengine.cc +++ b/webrtc/media/engine/webrtcmediaengine.cc @@ -9,16 +9,17 @@ */ #include "webrtc/media/engine/webrtcmediaengine.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" +#include "webrtc/media/engine/webrtcvoiceengine.h" + #ifdef HAVE_WEBRTC_VIDEO #include "webrtc/media/engine/webrtcvideoengine2.h" #else #include "webrtc/media/engine/nullwebrtcvideoengine.h" #endif -#include "webrtc/media/engine/webrtcvoiceengine.h" namespace cricket { diff --git a/webrtc/media/engine/webrtcmediaengine_unittest.cc b/webrtc/media/engine/webrtcmediaengine_unittest.cc index 03e50a18c9..c58c75b0c3 100644 --- a/webrtc/media/engine/webrtcmediaengine_unittest.cc +++ b/webrtc/media/engine/webrtcmediaengine_unittest.cc @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/media/engine/webrtcmediaengine.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/test/gtest.h" using webrtc::RtpExtension; diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc index b655a49922..abe4b5313d 100644 --- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc +++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc @@ -10,12 +10,11 @@ #include -#include "webrtc/pc/channel.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/arraysize.h" #include "webrtc/base/byteorder.h" #include "webrtc/base/gunit.h" #include "webrtc/call/call.h" -#include "webrtc/test/field_trial.h" #include "webrtc/logging/rtc_event_log/rtc_event_log.h" #include "webrtc/media/base/fakemediaengine.h" #include "webrtc/media/base/fakenetworkinterface.h" @@ -24,10 +23,11 @@ #include "webrtc/media/engine/fakewebrtccall.h" #include "webrtc/media/engine/fakewebrtcvoiceengine.h" #include "webrtc/media/engine/webrtcvoiceengine.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h" #include "webrtc/modules/audio_device/include/mock_audio_device.h" #include "webrtc/modules/audio_processing/include/mock_audio_processing.h" +#include "webrtc/pc/channel.h" +#include "webrtc/test/field_trial.h" using testing::Return; using testing::StrictMock; diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn index 05dfbc3f65..908ed5cf4f 100644 --- a/webrtc/modules/audio_coding/BUILD.gn +++ b/webrtc/modules/audio_coding/BUILD.gn @@ -39,52 +39,27 @@ audio_coding_deps = audio_codec_deps + [ "../../system_wrappers", ] -rtc_static_library("audio_format") { - sources = [ - "codecs/audio_format.cc", - "codecs/audio_format.h", - ] - deps = [ - "../..:webrtc_common", - ] -} - rtc_static_library("audio_format_conversion") { sources = [ "codecs/audio_format_conversion.cc", "codecs/audio_format_conversion.h", ] deps = [ - ":audio_format", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", ] } -rtc_source_set("audio_decoder_factory_interface") { +rtc_static_library("builtin_audio_decoder_factory_internal") { sources = [ - "codecs/audio_decoder_factory.h", - ] - deps = [ - ":audio_decoder_interface", - ":audio_format", - - # TODO(charujain): Clean this dependency when downstream projects are - # updated to properly depend on audio_format_conversion target. - ":audio_format_conversion", - "../../base:rtc_base_approved", - ] -} - -rtc_static_library("builtin_audio_decoder_factory") { - sources = [ - "codecs/builtin_audio_decoder_factory.cc", - "codecs/builtin_audio_decoder_factory.h", + "codecs/builtin_audio_decoder_factory_internal.cc", + "codecs/builtin_audio_decoder_factory_internal.h", ] deps = [ "../..:webrtc_common", "../../base:rtc_base_approved", - ":audio_decoder_factory_interface", + "../../api/audio_codecs:audio_codecs_api", ] + audio_codec_deps defines = audio_codec_defines } @@ -101,7 +76,7 @@ rtc_static_library("rent_a_codec") { "acm2/rent_a_codec.h", ] deps = [ - ":audio_decoder_interface", + "../../api/audio_codecs:audio_codecs_api", "../..:webrtc_common", "../../base:rtc_base_approved", ] + audio_codec_deps @@ -149,9 +124,8 @@ rtc_static_library("audio_coding") { } deps = audio_coding_deps + [ - ":audio_decoder_interface", - ":audio_decoder_factory_interface", - ":builtin_audio_decoder_factory", + "../../api/audio_codecs:audio_codecs_api", + "../../api/audio_codecs:builtin_audio_decoder_factory", ":neteq", ":rent_a_codec", "../../base:rtc_base_approved", @@ -160,15 +134,13 @@ rtc_static_library("audio_coding") { defines = audio_coding_defines } -rtc_static_library("audio_decoder_interface") { +rtc_static_library("legacy_encoded_audio_frame") { sources = [ - "codecs/audio_decoder.cc", - "codecs/audio_decoder.h", "codecs/legacy_encoded_audio_frame.cc", "codecs/legacy_encoded_audio_frame.h", ] deps = [ - "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", ] } @@ -246,9 +218,10 @@ rtc_static_library("g711") { public_configs = [ ":g711_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", + ":legacy_encoded_audio_frame", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", ] public_deps = [ @@ -287,9 +260,10 @@ rtc_static_library("g722") { public_configs = [ ":g722_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", + ":legacy_encoded_audio_frame", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", ] public_deps = [ @@ -329,9 +303,10 @@ rtc_static_library("ilbc") { public_configs = [ ":ilbc_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", + ":legacy_encoded_audio_frame", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", "../../common_audio", ] @@ -487,9 +462,9 @@ rtc_source_set("ilbc_c") { public_configs = [ ":ilbc_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", "../../common_audio", ] @@ -525,9 +500,9 @@ rtc_static_library("isac") { ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":isac_common", + "../../api/audio_codecs:audio_codecs_api", ] public_deps = [ ":isac_c", @@ -619,9 +594,9 @@ rtc_static_library("isac_fix") { public_configs = [ ":isac_fix_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":isac_common", + "../../api/audio_codecs:audio_codecs_api", "../../common_audio", "../../system_wrappers", ] @@ -695,10 +670,10 @@ rtc_source_set("isac_fix_c") { public_configs = [ ":isac_fix_config" ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":isac_common", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", "../../common_audio", "../../system_wrappers", @@ -799,10 +774,11 @@ rtc_static_library("pcm16b") { ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":g711", + ":legacy_encoded_audio_frame", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", ] public_deps = [ @@ -837,10 +813,10 @@ rtc_static_library("webrtc_opus") { ] deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":audio_network_adaptor", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", "../../base:rtc_numerics", "../../common_audio", @@ -1031,16 +1007,13 @@ rtc_static_library("neteq") { ] deps = [ - ":audio_decoder_factory_interface", - ":audio_decoder_interface", - ":audio_format", - ":builtin_audio_decoder_factory", ":cng", ":g711", ":isac_fix", ":pcm16b", ":rent_a_codec", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:gtest_prod", "../../base:rtc_base_approved", "../../common_audio", @@ -1095,9 +1068,9 @@ rtc_source_set("neteq_test_minimal") { deps = [ ":audio_encoder_interface", - ":builtin_audio_decoder_factory", ":neteq", "../..:webrtc_common", + "../../api/audio_codecs:builtin_audio_decoder_factory", "../../base:rtc_base_approved", ] } @@ -1161,9 +1134,9 @@ if (rtc_include_tests) { deps = [ ":audio_coding", ":audio_format_conversion", - ":builtin_audio_decoder_factory", ":pcm16b_c", "../..:webrtc_common", + "../../api/audio_codecs:builtin_audio_decoder_factory", "../../base:rtc_base_approved", "../../system_wrappers:system_wrappers", "../../test:fileutils", @@ -1215,8 +1188,8 @@ if (rtc_include_tests) { deps = audio_coding_deps + [ ":audio_coding", ":audio_format_conversion", - ":audio_decoder_factory_interface", - ":builtin_audio_decoder_factory", + "../../api/audio_codecs:audio_codecs_api", + "../../api/audio_codecs:builtin_audio_decoder_factory", ":neteq_unittest_tools", "../../base:rtc_base_approved", "../../test:test_support", @@ -1235,7 +1208,7 @@ if (rtc_include_tests) { deps = audio_coding_deps + [ ":audio_coding", - ":audio_decoder_interface", + "../../api/audio_codecs:audio_codecs_api", ":audio_encoder_interface", ":neteq_unittest_tools", "../../base:rtc_base_approved", @@ -1324,12 +1297,12 @@ if (rtc_include_tests) { deps += audio_coding_deps deps += [ - ":audio_decoder_interface", ":ilbc", ":isac", ":isac_fix", ":neteq", ":neteq_unittest_tools", + "../../api/audio_codecs:audio_codecs_api", "../../common_audio", "../../test:test_main", "//testing/gtest", @@ -1460,12 +1433,12 @@ if (rtc_include_tests) { } deps = [ - ":audio_decoder_interface", - ":builtin_audio_decoder_factory", ":neteq", ":neteq_unittest_tools", ":pcm16b", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", + "../../api/audio_codecs:builtin_audio_decoder_factory", "../../base:rtc_base_approved", "../../system_wrappers", "../../test:test_support", @@ -1486,10 +1459,10 @@ if (rtc_include_tests) { } deps = [ - ":builtin_audio_decoder_factory", ":neteq", ":neteq_unittest_tools", "../..:webrtc_common", + "../../api/audio_codecs:builtin_audio_decoder_factory", "../../base:rtc_base_approved", "../../test:test_support", "//testing/gtest", @@ -1540,10 +1513,10 @@ if (rtc_include_tests) { } deps = [ - ":audio_decoder_interface", ":audio_encoder_interface", ":pcm16b", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", "../../base:rtc_base_approved", "../../common_audio", "../../test:rtp_test_utils", @@ -1999,7 +1972,7 @@ if (rtc_include_tests) { "audio_network_adaptor/frame_length_controller_unittest.cc", "audio_network_adaptor/mock/mock_controller.h", "audio_network_adaptor/mock/mock_controller_manager.h", - "codecs/audio_decoder_factory_unittest.cc", + "codecs/builtin_audio_decoder_factory_unittest.cc", "codecs/cng/audio_encoder_cng_unittest.cc", "codecs/cng/cng_unittest.cc", "codecs/ilbc/ilbc_unittest.cc", @@ -2063,17 +2036,16 @@ if (rtc_include_tests) { ":acm_receive_test", ":acm_send_test", ":audio_coding", - ":audio_decoder_interface", ":audio_encoder_interface", ":audio_format_conversion", ":audio_network_adaptor", - ":builtin_audio_decoder_factory", ":cng", ":g711", ":ilbc", ":isac", ":isac_c", ":isac_fix", + ":legacy_encoded_audio_frame", ":neteq", ":neteq_test_support", ":neteq_unittest_tools", @@ -2082,6 +2054,8 @@ if (rtc_include_tests) { ":rent_a_codec", ":webrtc_opus", "../..:webrtc_common", + "../../api/audio_codecs:audio_codecs_api", + "../../api/audio_codecs:builtin_audio_decoder_factory", "../../base:rtc_base", "../../base:rtc_base_approved", "../../base:rtc_base_tests_utils", @@ -2115,3 +2089,27 @@ if (rtc_include_tests) { } } } + +# For backwards compatibility only! Use +# webrtc/api/audio_codecs:audio_codecs_api instead. +# TODO(kwiberg): Remove this. +rtc_source_set("audio_decoder_interface") { + sources = [ + "codecs/audio_decoder.h", + ] + deps = [ + "../../api/audio_codecs:audio_codecs_api", + ] +} + +# For backwards compatibility only! Use +# webrtc/api/audio_codecs:builtin_audio_decoder_factory instead. +# TODO(kwiberg): Remove this. +rtc_source_set("builtin_audio_decoder_factory") { + sources = [ + "codecs/builtin_audio_decoder_factory.h", + ] + deps = [ + "../../api/audio_codecs:builtin_audio_decoder_factory", + ] +} diff --git a/webrtc/modules/audio_coding/acm2/acm_receive_test.cc b/webrtc/modules/audio_coding/acm2/acm_receive_test.cc index 88fe7c25e8..1eae859cbe 100644 --- a/webrtc/modules/audio_coding/acm2/acm_receive_test.cc +++ b/webrtc/modules/audio_coding/acm2/acm_receive_test.cc @@ -15,8 +15,8 @@ #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/audio_format_conversion.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/include/audio_coding_module.h" #include "webrtc/modules/audio_coding/neteq/tools/audio_sink.h" #include "webrtc/modules/audio_coding/neteq/tools/packet.h" diff --git a/webrtc/modules/audio_coding/acm2/acm_receive_test.h b/webrtc/modules/audio_coding/acm2/acm_receive_test.h index 834fa5626f..107697854e 100644 --- a/webrtc/modules/audio_coding/acm2/acm_receive_test.h +++ b/webrtc/modules/audio_coding/acm2/acm_receive_test.h @@ -14,9 +14,9 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/base/constructormagic.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" #include "webrtc/system_wrappers/include/clock.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/acm2/acm_receiver.cc b/webrtc/modules/audio_coding/acm2/acm_receiver.cc index 57ae527e88..fd4e91a617 100644 --- a/webrtc/modules/audio_coding/acm2/acm_receiver.cc +++ b/webrtc/modules/audio_coding/acm2/acm_receiver.cc @@ -15,13 +15,13 @@ #include // sort #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/base/format_macros.h" #include "webrtc/base/logging.h" #include "webrtc/base/safe_conversions.h" #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" #include "webrtc/common_types.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/acm2/acm_resampler.h" #include "webrtc/modules/audio_coding/acm2/call_statistics.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" diff --git a/webrtc/modules/audio_coding/acm2/acm_receiver_unittest.cc b/webrtc/modules/audio_coding/acm2/acm_receiver_unittest.cc index 92a06b2ade..d5a63ccd49 100644 --- a/webrtc/modules/audio_coding/acm2/acm_receiver_unittest.cc +++ b/webrtc/modules/audio_coding/acm2/acm_receiver_unittest.cc @@ -13,9 +13,9 @@ #include // std::min #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/checks.h" #include "webrtc/base/safe_conversions.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/include/audio_coding_module.h" #include "webrtc/modules/audio_coding/neteq/tools/rtp_generator.h" #include "webrtc/system_wrappers/include/clock.h" diff --git a/webrtc/modules/audio_coding/acm2/audio_coding_module.cc b/webrtc/modules/audio_coding/acm2/audio_coding_module.cc index 44450f2f3a..32e6940088 100644 --- a/webrtc/modules/audio_coding/acm2/audio_coding_module.cc +++ b/webrtc/modules/audio_coding/acm2/audio_coding_module.cc @@ -10,13 +10,13 @@ #include "webrtc/modules/audio_coding/include/audio_coding_module.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/checks.h" #include "webrtc/base/safe_conversions.h" #include "webrtc/modules/audio_coding/acm2/acm_receiver.h" #include "webrtc/modules/audio_coding/acm2/acm_resampler.h" #include "webrtc/modules/audio_coding/acm2/codec_manager.h" #include "webrtc/modules/audio_coding/acm2/rent_a_codec.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/system_wrappers/include/metrics.h" #include "webrtc/system_wrappers/include/trace.h" diff --git a/webrtc/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/webrtc/modules/audio_coding/acm2/audio_coding_module_unittest.cc index 574b15ddc8..c7bbfb0434 100644 --- a/webrtc/modules/audio_coding/acm2/audio_coding_module_unittest.cc +++ b/webrtc/modules/audio_coding/acm2/audio_coding_module_unittest.cc @@ -13,13 +13,13 @@ #include #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/criticalsection.h" #include "webrtc/base/md5digest.h" #include "webrtc/base/platform_thread.h" #include "webrtc/base/thread_annotations.h" #include "webrtc/modules/audio_coding/acm2/acm_receive_test.h" #include "webrtc/modules/audio_coding/acm2/acm_send_test.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/audio_encoder.h" #include "webrtc/modules/audio_coding/codecs/audio_format_conversion.h" #include "webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h" diff --git a/webrtc/modules/audio_coding/acm2/rent_a_codec.h b/webrtc/modules/audio_coding/acm2/rent_a_codec.h index 02a5dd9b64..069e1d5f36 100644 --- a/webrtc/modules/audio_coding/acm2/rent_a_codec.h +++ b/webrtc/modules/audio_coding/acm2/rent_a_codec.h @@ -15,12 +15,12 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder.h" +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/base/array_view.h" #include "webrtc/base/constructormagic.h" #include "webrtc/base/optional.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" #include "webrtc/modules/audio_coding/codecs/audio_encoder.h" #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h" #include "webrtc/typedefs.h" diff --git a/webrtc/modules/audio_coding/codecs/audio_decoder.h b/webrtc/modules/audio_coding/codecs/audio_decoder.h index 8468da20f2..da0628254d 100644 --- a/webrtc/modules/audio_coding/codecs/audio_decoder.h +++ b/webrtc/modules/audio_coding/codecs/audio_decoder.h @@ -8,172 +8,13 @@ * be found in the AUTHORS file in the root of the source tree. */ +// This file is for backwards compatibility only! Use +// webrtc/api/audio_codecs/audio_decoder.h instead! +// TODO(kwiberg): Remove it. + #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_ -#include -#include +#include "webrtc/api/audio_codecs/audio_decoder.h" -#include "webrtc/base/array_view.h" -#include "webrtc/base/buffer.h" -#include "webrtc/base/constructormagic.h" -#include "webrtc/base/optional.h" -#include "webrtc/typedefs.h" - -namespace webrtc { - -// This is the interface class for decoders in NetEQ. Each codec type will have -// and implementation of this class. -class AudioDecoder { - public: - enum SpeechType { - kSpeech = 1, - kComfortNoise = 2 - }; - - // Used by PacketDuration below. Save the value -1 for errors. - enum { kNotImplemented = -2 }; - - AudioDecoder() = default; - virtual ~AudioDecoder() = default; - - class EncodedAudioFrame { - public: - struct DecodeResult { - size_t num_decoded_samples; - SpeechType speech_type; - }; - - virtual ~EncodedAudioFrame() = default; - - // Returns the duration in samples-per-channel of this audio frame. - // If no duration can be ascertained, returns zero. - virtual size_t Duration() const = 0; - - // Decodes this frame of audio and writes the result in |decoded|. - // |decoded| must be large enough to store as many samples as indicated by a - // call to Duration() . On success, returns an rtc::Optional containing the - // total number of samples across all channels, as well as whether the - // decoder produced comfort noise or speech. On failure, returns an empty - // rtc::Optional. Decode may be called at most once per frame object. - virtual rtc::Optional Decode( - rtc::ArrayView decoded) const = 0; - }; - - struct ParseResult { - ParseResult(); - ParseResult(uint32_t timestamp, - int priority, - std::unique_ptr frame); - ParseResult(ParseResult&& b); - ~ParseResult(); - - ParseResult& operator=(ParseResult&& b); - - // The timestamp of the frame is in samples per channel. - uint32_t timestamp; - // The relative priority of the frame compared to other frames of the same - // payload and the same timeframe. A higher value means a lower priority. - // The highest priority is zero - negative values are not allowed. - int priority; - std::unique_ptr frame; - }; - - // Let the decoder parse this payload and prepare zero or more decodable - // frames. Each frame must be between 10 ms and 120 ms long. The caller must - // ensure that the AudioDecoder object outlives any frame objects returned by - // this call. The decoder is free to swap or move the data from the |payload| - // buffer. |timestamp| is the input timestamp, in samples, corresponding to - // the start of the payload. - virtual std::vector ParsePayload(rtc::Buffer&& payload, - uint32_t timestamp); - - // Decodes |encode_len| bytes from |encoded| and writes the result in - // |decoded|. The maximum bytes allowed to be written into |decoded| is - // |max_decoded_bytes|. Returns the total number of samples across all - // channels. If the decoder produced comfort noise, |speech_type| - // is set to kComfortNoise, otherwise it is kSpeech. The desired output - // sample rate is provided in |sample_rate_hz|, which must be valid for the - // codec at hand. - int Decode(const uint8_t* encoded, - size_t encoded_len, - int sample_rate_hz, - size_t max_decoded_bytes, - int16_t* decoded, - SpeechType* speech_type); - - // Same as Decode(), but interfaces to the decoders redundant decode function. - // The default implementation simply calls the regular Decode() method. - int DecodeRedundant(const uint8_t* encoded, - size_t encoded_len, - int sample_rate_hz, - size_t max_decoded_bytes, - int16_t* decoded, - SpeechType* speech_type); - - // Indicates if the decoder implements the DecodePlc method. - virtual bool HasDecodePlc() const; - - // Calls the packet-loss concealment of the decoder to update the state after - // one or several lost packets. The caller has to make sure that the - // memory allocated in |decoded| should accommodate |num_frames| frames. - virtual size_t DecodePlc(size_t num_frames, int16_t* decoded); - - // Resets the decoder state (empty buffers etc.). - virtual void Reset() = 0; - - // Notifies the decoder of an incoming packet to NetEQ. - virtual int IncomingPacket(const uint8_t* payload, - size_t payload_len, - uint16_t rtp_sequence_number, - uint32_t rtp_timestamp, - uint32_t arrival_timestamp); - - // Returns the last error code from the decoder. - virtual int ErrorCode(); - - // Returns the duration in samples-per-channel of the payload in |encoded| - // which is |encoded_len| bytes long. Returns kNotImplemented if no duration - // estimate is available, or -1 in case of an error. - virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const; - - // Returns the duration in samples-per-channel of the redandant payload in - // |encoded| which is |encoded_len| bytes long. Returns kNotImplemented if no - // duration estimate is available, or -1 in case of an error. - virtual int PacketDurationRedundant(const uint8_t* encoded, - size_t encoded_len) const; - - // Detects whether a packet has forward error correction. The packet is - // comprised of the samples in |encoded| which is |encoded_len| bytes long. - // Returns true if the packet has FEC and false otherwise. - virtual bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const; - - // Returns the actual sample rate of the decoder's output. This value may not - // change during the lifetime of the decoder. - virtual int SampleRateHz() const = 0; - - // The number of channels in the decoder's output. This value may not change - // during the lifetime of the decoder. - virtual size_t Channels() const = 0; - - protected: - static SpeechType ConvertSpeechType(int16_t type); - - virtual int DecodeInternal(const uint8_t* encoded, - size_t encoded_len, - int sample_rate_hz, - int16_t* decoded, - SpeechType* speech_type) = 0; - - virtual int DecodeRedundantInternal(const uint8_t* encoded, - size_t encoded_len, - int sample_rate_hz, - int16_t* decoded, - SpeechType* speech_type); - - private: - RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoder); -}; - -} // namespace webrtc #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_H_ diff --git a/webrtc/modules/audio_coding/codecs/audio_format_conversion.h b/webrtc/modules/audio_coding/codecs/audio_format_conversion.h index 9267a52b72..0fa3a5034d 100644 --- a/webrtc/modules/audio_coding/codecs/audio_format_conversion.h +++ b/webrtc/modules/audio_coding/codecs/audio_format_conversion.h @@ -11,8 +11,8 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_CONVERSION_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_CONVERSION_H_ +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/common_types.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h index 7bc35863cb..7e6407aded 100644 --- a/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h +++ b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h @@ -8,20 +8,13 @@ * be found in the AUTHORS file in the root of the source tree. */ +// This file is for backwards compatibility only! Use +// webrtc/api/audio_codecs/builtin_audio_decoder_factory.h instead! +// TODO(kwiberg): Remove it. + #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ -#include - -#include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" - -namespace webrtc { - -// Creates a new factory that can create the built-in types of audio decoders. -// NOTE: This function is still under development and may change without notice. -rtc::scoped_refptr CreateBuiltinAudioDecoderFactory(); - -} // namespace webrtc +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_H_ diff --git a/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.cc b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc similarity index 88% rename from webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.cc rename to webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc index 5f14f97d92..fd9f066cb4 100644 --- a/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.cc +++ b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc @@ -8,8 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h" +#include #include #include "webrtc/base/checks.h" @@ -176,34 +177,35 @@ class BuiltinAudioDecoderFactory : public AudioDecoderFactory { std::vector GetSupportedDecoders() override { // Although this looks a bit strange, it means specs need only be initalized // once, and that that initialization is thread-safe. - static std::vector specs = - []{ - std::vector specs; + static std::vector specs = [] { + std::vector specs; #ifdef WEBRTC_CODEC_OPUS - AudioCodecSpec opus({"opus", 48000, 2, { - {"minptime", "10"}, - {"useinbandfec", "1"} - }}); - opus.allow_comfort_noise = false; - opus.supports_network_adaption = true; - specs.push_back(opus); + // clang-format off + AudioCodecSpec opus({"opus", 48000, 2, { + {"minptime", "10"}, + {"useinbandfec", "1"} + }}); + // clang-format on + opus.allow_comfort_noise = false; + opus.supports_network_adaption = true; + specs.push_back(opus); #endif #if (defined(WEBRTC_CODEC_ISAC) || defined(WEBRTC_CODEC_ISACFX)) - specs.push_back(AudioCodecSpec({"isac", 16000, 1})); + specs.push_back(AudioCodecSpec({"isac", 16000, 1})); #endif #if (defined(WEBRTC_CODEC_ISAC)) - specs.push_back(AudioCodecSpec({"isac", 32000, 1})); + specs.push_back(AudioCodecSpec({"isac", 32000, 1})); #endif #ifdef WEBRTC_CODEC_G722 - specs.push_back(AudioCodecSpec({"G722", 8000, 1})); + specs.push_back(AudioCodecSpec({"G722", 8000, 1})); #endif #ifdef WEBRTC_CODEC_ILBC - specs.push_back(AudioCodecSpec({"iLBC", 8000, 1})); + specs.push_back(AudioCodecSpec({"iLBC", 8000, 1})); #endif - specs.push_back(AudioCodecSpec({"PCMU", 8000, 1})); - specs.push_back(AudioCodecSpec({"PCMA", 8000, 1})); - return specs; - }(); + specs.push_back(AudioCodecSpec({"PCMU", 8000, 1})); + specs.push_back(AudioCodecSpec({"PCMA", 8000, 1})); + return specs; + }(); return specs; } @@ -239,7 +241,8 @@ class BuiltinAudioDecoderFactory : public AudioDecoderFactory { } // namespace -rtc::scoped_refptr CreateBuiltinAudioDecoderFactory() { +rtc::scoped_refptr +CreateBuiltinAudioDecoderFactoryInternal() { return rtc::scoped_refptr( new rtc::RefCountedObject); } diff --git a/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h new file mode 100644 index 0000000000..10f356affc --- /dev/null +++ b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2016 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 WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_INTERNAL_H_ +#define WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_INTERNAL_H_ + +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" +#include "webrtc/base/scoped_ref_ptr.h" + +namespace webrtc { + +rtc::scoped_refptr +CreateBuiltinAudioDecoderFactoryInternal(); + +} // namespace webrtc + +#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_BUILTIN_AUDIO_DECODER_FACTORY_INTERNAL_H_ diff --git a/webrtc/modules/audio_coding/codecs/audio_decoder_factory_unittest.cc b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_unittest.cc similarity index 98% rename from webrtc/modules/audio_coding/codecs/audio_decoder_factory_unittest.cc rename to webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_unittest.cc index 0379613703..7e67095276 100644 --- a/webrtc/modules/audio_coding/codecs/audio_decoder_factory_unittest.cc +++ b/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_unittest.cc @@ -10,7 +10,7 @@ #include -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/test/gtest.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h index b1d259e965..563d6aeaad 100644 --- a/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h +++ b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h @@ -11,9 +11,9 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_DECODER_PCM_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_DECODER_PCM_H_ +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h b/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h index 9e7c5d9d05..c53c78c67e 100644 --- a/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h +++ b/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h @@ -11,8 +11,8 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G722_AUDIO_DECODER_G722_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_G722_AUDIO_DECODER_G722_H_ +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" typedef struct WebRtcG722DecInst G722DecInst; diff --git a/webrtc/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h b/webrtc/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h index 48edfede76..bc01a5de7d 100644 --- a/webrtc/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h +++ b/webrtc/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h @@ -11,8 +11,8 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ILBC_AUDIO_DECODER_ILBC_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ILBC_AUDIO_DECODER_ILBC_H_ +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" typedef struct iLBC_decinst_t_ IlbcDecoderInstance; diff --git a/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h b/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h index fec7d59793..1017cbc9d3 100644 --- a/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h +++ b/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h @@ -13,10 +13,10 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" #include "webrtc/base/optional.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/codecs/isac/locked_bandwidth_info.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/legacy_encoded_audio_frame.h b/webrtc/modules/audio_coding/codecs/legacy_encoded_audio_frame.h index 466c8b34be..46b91ce8e3 100644 --- a/webrtc/modules/audio_coding/codecs/legacy_encoded_audio_frame.h +++ b/webrtc/modules/audio_coding/codecs/legacy_encoded_audio_frame.h @@ -13,8 +13,8 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/array_view.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h b/webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h index b988b85dc7..3b91491e7f 100644 --- a/webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h +++ b/webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h @@ -13,9 +13,9 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/test/gmock.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_decoder_opus.h b/webrtc/modules/audio_coding/codecs/opus/audio_decoder_opus.h index a0fb34c442..e848f37466 100644 --- a/webrtc/modules/audio_coding/codecs/opus/audio_decoder_opus.h +++ b/webrtc/modules/audio_coding/codecs/opus/audio_decoder_opus.h @@ -11,8 +11,8 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_AUDIO_DECODER_OPUS_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_AUDIO_DECODER_OPUS_H_ +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/codecs/opus/opus_interface.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h b/webrtc/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h index 577eecc535..969aa4e6d9 100644 --- a/webrtc/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h +++ b/webrtc/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h @@ -11,8 +11,8 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_PCM16B_AUDIO_DECODER_PCM16B_H_ #define WEBRTC_MODULES_AUDIO_CODING_CODECS_PCM16B_AUDIO_DECODER_PCM16B_H_ +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/include/audio_coding_module.h b/webrtc/modules/audio_coding/include/audio_coding_module.h index a0dafec022..cd99579e1d 100644 --- a/webrtc/modules/audio_coding/include/audio_coding_module.h +++ b/webrtc/modules/audio_coding/include/audio_coding_module.h @@ -15,11 +15,11 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/base/deprecation.h" #include "webrtc/base/function_view.h" #include "webrtc/base/optional.h" #include "webrtc/common_types.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/include/module.h" diff --git a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h index 5b064ec322..a876f17976 100644 --- a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h +++ b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h @@ -13,13 +13,14 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" +#include "webrtc/modules/audio_coding/acm2/rent_a_codec.h" +#include "webrtc/typedefs.h" + #ifdef WEBRTC_CODEC_G722 #include "webrtc/modules/audio_coding/codecs/g722/g722_interface.h" #endif -#include "webrtc/modules/audio_coding/acm2/rent_a_codec.h" -#include "webrtc/typedefs.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/comfort_noise.cc b/webrtc/modules/audio_coding/neteq/comfort_noise.cc index 9493d0a41c..ef3129b76a 100644 --- a/webrtc/modules/audio_coding/neteq/comfort_noise.cc +++ b/webrtc/modules/audio_coding/neteq/comfort_noise.cc @@ -12,8 +12,8 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/logging.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/decoder_database.h" #include "webrtc/modules/audio_coding/neteq/dsp_helper.h" #include "webrtc/modules/audio_coding/neteq/sync_buffer.h" diff --git a/webrtc/modules/audio_coding/neteq/decoder_database.cc b/webrtc/modules/audio_coding/neteq/decoder_database.cc index fa120d2353..16bec04453 100644 --- a/webrtc/modules/audio_coding/neteq/decoder_database.cc +++ b/webrtc/modules/audio_coding/neteq/decoder_database.cc @@ -12,9 +12,9 @@ #include // pair +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/decoder_database.h b/webrtc/modules/audio_coding/neteq/decoder_database.h index 83789daa91..114cca32c7 100644 --- a/webrtc/modules/audio_coding/neteq/decoder_database.h +++ b/webrtc/modules/audio_coding/neteq/decoder_database.h @@ -15,10 +15,10 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/audio_format.h" #include "webrtc/base/constructormagic.h" #include "webrtc/common_types.h" // NULL -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" -#include "webrtc/modules/audio_coding/codecs/audio_format.h" #include "webrtc/modules/audio_coding/codecs/cng/webrtc_cng.h" #include "webrtc/modules/audio_coding/neteq/audio_decoder_impl.h" #include "webrtc/modules/audio_coding/neteq/packet.h" diff --git a/webrtc/modules/audio_coding/neteq/decoder_database_unittest.cc b/webrtc/modules/audio_coding/neteq/decoder_database_unittest.cc index 22bbf6c104..f3e6a64673 100644 --- a/webrtc/modules/audio_coding/neteq/decoder_database_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/decoder_database_unittest.cc @@ -15,7 +15,7 @@ #include -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h" #include "webrtc/test/gmock.h" diff --git a/webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h b/webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h index 64eeed195c..f5b343d8fa 100644 --- a/webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h +++ b/webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h @@ -11,8 +11,7 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_AUDIO_DECODER_H_ #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_AUDIO_DECODER_H_ -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" - +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/test/gmock.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h b/webrtc/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h index dd12f18dd2..a8919f25dc 100644 --- a/webrtc/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h +++ b/webrtc/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h @@ -11,8 +11,7 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_EXTERNAL_DECODER_PCM16B_H_ #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_EXTERNAL_DECODER_PCM16B_H_ -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" - +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" #include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/test/gmock.h" diff --git a/webrtc/modules/audio_coding/neteq/neteq_external_decoder_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_external_decoder_unittest.cc index f1ccfa9fde..4b3c0b7afb 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_external_decoder_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_external_decoder_unittest.cc @@ -12,7 +12,7 @@ #include -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h" #include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h" #include "webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h" diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.cc b/webrtc/modules/audio_coding/neteq/neteq_impl.cc index 592d2844e1..09a32965ed 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_impl.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_impl.cc @@ -17,13 +17,13 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/base/safe_conversions.h" #include "webrtc/base/sanitizer.h" #include "webrtc/base/trace_event.h" #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/accelerate.h" #include "webrtc/modules/audio_coding/neteq/background_noise.h" #include "webrtc/modules/audio_coding/neteq/buffer_level_filter.h" @@ -39,11 +39,11 @@ #include "webrtc/modules/audio_coding/neteq/merge.h" #include "webrtc/modules/audio_coding/neteq/nack_tracker.h" #include "webrtc/modules/audio_coding/neteq/normal.h" -#include "webrtc/modules/audio_coding/neteq/packet_buffer.h" #include "webrtc/modules/audio_coding/neteq/packet.h" -#include "webrtc/modules/audio_coding/neteq/red_payload_splitter.h" +#include "webrtc/modules/audio_coding/neteq/packet_buffer.h" #include "webrtc/modules/audio_coding/neteq/post_decode_vad.h" #include "webrtc/modules/audio_coding/neteq/preemptive_expand.h" +#include "webrtc/modules/audio_coding/neteq/red_payload_splitter.h" #include "webrtc/modules/audio_coding/neteq/sync_buffer.h" #include "webrtc/modules/audio_coding/neteq/tick_timer.h" #include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h" diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc index 1c93543e2d..de07ae2072 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc @@ -10,14 +10,12 @@ #include -#include "webrtc/modules/audio_coding/neteq/include/neteq.h" -#include "webrtc/modules/audio_coding/neteq/neteq_impl.h" - +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/safe_conversions.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/accelerate.h" #include "webrtc/modules/audio_coding/neteq/expand.h" +#include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_buffer_level_filter.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_decoder_database.h" @@ -27,6 +25,7 @@ #include "webrtc/modules/audio_coding/neteq/mock/mock_dtmf_tone_generator.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_packet_buffer.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_red_payload_splitter.h" +#include "webrtc/modules/audio_coding/neteq/neteq_impl.h" #include "webrtc/modules/audio_coding/neteq/preemptive_expand.h" #include "webrtc/modules/audio_coding/neteq/sync_buffer.h" #include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h" diff --git a/webrtc/modules/audio_coding/neteq/neteq_stereo_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_stereo_unittest.cc index fb2648d005..0d15f8876a 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_stereo_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_stereo_unittest.cc @@ -15,7 +15,7 @@ #include #include -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h" diff --git a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc index ecefc45db3..b77b734e8a 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc @@ -21,10 +21,10 @@ #include #include "gflags/gflags.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/ignore_wundef.h" #include "webrtc/base/sha1digest.h" #include "webrtc/base/stringencode.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/tools/audio_loop.h" #include "webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h" diff --git a/webrtc/modules/audio_coding/neteq/normal.cc b/webrtc/modules/audio_coding/neteq/normal.cc index 9e6f19ed68..3dee39a8bc 100644 --- a/webrtc/modules/audio_coding/neteq/normal.cc +++ b/webrtc/modules/audio_coding/neteq/normal.cc @@ -14,9 +14,9 @@ #include // min +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/audio_multi_vector.h" #include "webrtc/modules/audio_coding/neteq/background_noise.h" #include "webrtc/modules/audio_coding/neteq/decoder_database.h" diff --git a/webrtc/modules/audio_coding/neteq/packet.h b/webrtc/modules/audio_coding/neteq/packet.h index 74da83f435..7d91f25796 100644 --- a/webrtc/modules/audio_coding/neteq/packet.h +++ b/webrtc/modules/audio_coding/neteq/packet.h @@ -14,8 +14,8 @@ #include #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/buffer.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/tick_timer.h" #include "webrtc/typedefs.h" diff --git a/webrtc/modules/audio_coding/neteq/packet_buffer.cc b/webrtc/modules/audio_coding/neteq/packet_buffer.cc index a9a396d7be..489c7c75ea 100644 --- a/webrtc/modules/audio_coding/neteq/packet_buffer.cc +++ b/webrtc/modules/audio_coding/neteq/packet_buffer.cc @@ -16,8 +16,8 @@ #include // find_if() +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/logging.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/decoder_database.h" #include "webrtc/modules/audio_coding/neteq/tick_timer.h" diff --git a/webrtc/modules/audio_coding/neteq/packet_buffer_unittest.cc b/webrtc/modules/audio_coding/neteq/packet_buffer_unittest.cc index dcb4f1a20e..e8795a9a15 100644 --- a/webrtc/modules/audio_coding/neteq/packet_buffer_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/packet_buffer_unittest.cc @@ -10,11 +10,10 @@ // Unit tests for PacketBuffer class. -#include "webrtc/modules/audio_coding/neteq/packet_buffer.h" - -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_decoder_database.h" #include "webrtc/modules/audio_coding/neteq/packet.h" +#include "webrtc/modules/audio_coding/neteq/packet_buffer.h" #include "webrtc/modules/audio_coding/neteq/tick_timer.h" #include "webrtc/test/gmock.h" #include "webrtc/test/gtest.h" diff --git a/webrtc/modules/audio_coding/neteq/post_decode_vad.h b/webrtc/modules/audio_coding/neteq/post_decode_vad.h index 7bf5ad1383..dd648185de 100644 --- a/webrtc/modules/audio_coding/neteq/post_decode_vad.h +++ b/webrtc/modules/audio_coding/neteq/post_decode_vad.h @@ -13,10 +13,10 @@ #include // size_t +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/constructormagic.h" #include "webrtc/common_audio/vad/include/webrtc_vad.h" #include "webrtc/common_types.h" // NULL -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/defines.h" #include "webrtc/modules/audio_coding/neteq/packet.h" #include "webrtc/typedefs.h" diff --git a/webrtc/modules/audio_coding/neteq/red_payload_splitter_unittest.cc b/webrtc/modules/audio_coding/neteq/red_payload_splitter_unittest.cc index cd85f0329f..60cf39fb61 100644 --- a/webrtc/modules/audio_coding/neteq/red_payload_splitter_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/red_payload_splitter_unittest.cc @@ -17,7 +17,7 @@ #include #include // pair -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_decoder_database.h" #include "webrtc/modules/audio_coding/neteq/packet.h" diff --git a/webrtc/modules/audio_coding/neteq/timestamp_scaler_unittest.cc b/webrtc/modules/audio_coding/neteq/timestamp_scaler_unittest.cc index 41c33426ed..13c45547ae 100644 --- a/webrtc/modules/audio_coding/neteq/timestamp_scaler_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/timestamp_scaler_unittest.cc @@ -8,11 +8,10 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h" - -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/mock/mock_decoder_database.h" #include "webrtc/modules/audio_coding/neteq/packet.h" +#include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h" #include "webrtc/test/gmock.h" #include "webrtc/test/gtest.h" diff --git a/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h b/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h index 69f9c82d38..9f91c81e40 100644 --- a/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h +++ b/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h @@ -13,9 +13,9 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/array_view.h" #include "webrtc/base/optional.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc index 123a3151a8..ed5127927b 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc @@ -11,8 +11,8 @@ #include "webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/format_macros.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/test/gtest.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h index fb1c5b2f6f..208d8dacd1 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h @@ -14,7 +14,7 @@ #include #include -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/include/module_common_types.h" diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc index 73e004c720..4349a70390 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc @@ -10,8 +10,8 @@ #include "webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/checks.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/audio_coding/neteq/tools/audio_loop.h" diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc index 0b4edc6026..7b3a35b676 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc @@ -10,8 +10,9 @@ #include #include + +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/checks.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h" #include "webrtc/modules/audio_coding/neteq/tools/output_audio_file.h" #include "webrtc/modules/audio_coding/neteq/tools/output_wav_file.h" diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc index 1ea2cb8412..cc88b38fdf 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc @@ -12,7 +12,7 @@ #include -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" namespace webrtc { namespace test { diff --git a/webrtc/modules/audio_coding/test/TwoWayCommunication.cc b/webrtc/modules/audio_coding/test/TwoWayCommunication.cc index d080811c40..f575b2a0a4 100644 --- a/webrtc/modules/audio_coding/test/TwoWayCommunication.cc +++ b/webrtc/modules/audio_coding/test/TwoWayCommunication.cc @@ -20,9 +20,9 @@ #include #endif +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/common_types.h" #include "webrtc/modules/audio_coding/codecs/audio_format_conversion.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/test/PCMFile.h" #include "webrtc/modules/audio_coding/test/utility.h" #include "webrtc/system_wrappers/include/trace.h" diff --git a/webrtc/modules/utility/BUILD.gn b/webrtc/modules/utility/BUILD.gn index ec11b9fdf1..ae042d4c22 100644 --- a/webrtc/modules/utility/BUILD.gn +++ b/webrtc/modules/utility/BUILD.gn @@ -35,10 +35,6 @@ rtc_static_library("utility") { "../../base:rtc_task_queue", "../../common_audio", "../../system_wrappers", - "../audio_coding", - "../audio_coding:audio_format_conversion", - "../audio_coding:builtin_audio_decoder_factory", - "../audio_coding:rent_a_codec", "../media_file", ] } diff --git a/webrtc/pc/peerconnectionfactory.cc b/webrtc/pc/peerconnectionfactory.cc index f819b3e5cc..4adee15758 100644 --- a/webrtc/pc/peerconnectionfactory.cc +++ b/webrtc/pc/peerconnectionfactory.cc @@ -12,6 +12,7 @@ #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/api/mediaconstraintsinterface.h" #include "webrtc/api/mediastreamproxy.h" #include "webrtc/api/mediastreamtrackproxy.h" @@ -23,7 +24,6 @@ #include "webrtc/media/engine/webrtcmediaengine.h" #include "webrtc/media/engine/webrtcvideodecoderfactory.h" #include "webrtc/media/engine/webrtcvideoencoderfactory.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_device/include/audio_device.h" #include "webrtc/p2p/base/basicpacketsocketfactory.h" #include "webrtc/p2p/client/basicportallocator.h" diff --git a/webrtc/pc/peerconnectioninterface_unittest.cc b/webrtc/pc/peerconnectioninterface_unittest.cc index f7d477781a..84bfa3abf5 100644 --- a/webrtc/pc/peerconnectioninterface_unittest.cc +++ b/webrtc/pc/peerconnectioninterface_unittest.cc @@ -13,6 +13,7 @@ #include #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/api/jsepsessiondescription.h" #include "webrtc/api/mediastreaminterface.h" #include "webrtc/api/peerconnectioninterface.h" @@ -26,7 +27,6 @@ #include "webrtc/base/thread.h" #include "webrtc/media/base/fakevideocapturer.h" #include "webrtc/media/sctp/sctptransportinternal.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/p2p/base/fakeportallocator.h" #include "webrtc/pc/audiotrack.h" #include "webrtc/pc/mediasession.h" diff --git a/webrtc/test/call_test.cc b/webrtc/test/call_test.cc index f42c990ae1..833e53c465 100644 --- a/webrtc/test/call_test.cc +++ b/webrtc/test/call_test.cc @@ -12,9 +12,9 @@ #include +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/checks.h" #include "webrtc/config.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_mixer/audio_mixer_impl.h" #include "webrtc/test/testsupport/fileutils.h" #include "webrtc/voice_engine/include/voe_base.h" diff --git a/webrtc/test/fuzzers/audio_decoder_fuzzer.cc b/webrtc/test/fuzzers/audio_decoder_fuzzer.cc index 54c56ad62a..adc0fc7427 100644 --- a/webrtc/test/fuzzers/audio_decoder_fuzzer.cc +++ b/webrtc/test/fuzzers/audio_decoder_fuzzer.cc @@ -12,9 +12,9 @@ #include +#include "webrtc/api/audio_codecs/audio_decoder.h" #include "webrtc/base/checks.h" #include "webrtc/base/optional.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/rtp_rtcp/source/byte_io.h" namespace webrtc { diff --git a/webrtc/tools/BUILD.gn b/webrtc/tools/BUILD.gn index 46a0ede844..169a7f49de 100644 --- a/webrtc/tools/BUILD.gn +++ b/webrtc/tools/BUILD.gn @@ -208,7 +208,7 @@ if (rtc_enable_protobuf) { "../modules/audio_coding:ana_debug_dump_proto", # TODO(kwiberg): Remove this dependency. - "../modules/audio_coding:audio_format", + "../api/audio_codecs:audio_codecs_api", "../modules/congestion_controller", "../modules/rtp_rtcp", "../system_wrappers:system_wrappers_default", diff --git a/webrtc/voice_engine/BUILD.gn b/webrtc/voice_engine/BUILD.gn index ea2549f314..22739af4a1 100644 --- a/webrtc/voice_engine/BUILD.gn +++ b/webrtc/voice_engine/BUILD.gn @@ -15,9 +15,9 @@ rtc_static_library("audio_coder") { ] deps = [ "..:webrtc_common", + "../api/audio_codecs:builtin_audio_decoder_factory", "../modules/audio_coding", "../modules/audio_coding:audio_format_conversion", - "../modules/audio_coding:builtin_audio_decoder_factory", "../modules/audio_coding:rent_a_codec", ] @@ -152,13 +152,13 @@ rtc_static_library("voice_engine") { "../api:audio_mixer_api", "../api:call_api", "../api:transport_api", + "../api/audio_codecs:audio_codecs_api", + "../api/audio_codecs:builtin_audio_decoder_factory", "../audio/utility:audio_frame_operations", "../base:rtc_base_approved", "../common_audio", "../logging:rtc_event_log_api", - "../modules/audio_coding:audio_decoder_factory_interface", "../modules/audio_coding:audio_format_conversion", - "../modules/audio_coding:builtin_audio_decoder_factory", "../modules/audio_coding:rent_a_codec", "../modules/audio_conference_mixer", "../modules/audio_device", diff --git a/webrtc/voice_engine/coder.cc b/webrtc/voice_engine/coder.cc index 82eb2487b6..552e5a5822 100644 --- a/webrtc/voice_engine/coder.cc +++ b/webrtc/voice_engine/coder.cc @@ -10,9 +10,9 @@ #include "webrtc/voice_engine/coder.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/common_types.h" #include "webrtc/modules/audio_coding/codecs/audio_format_conversion.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/include/module_common_types.h" namespace webrtc { diff --git a/webrtc/voice_engine/include/voe_base.h b/webrtc/voice_engine/include/voe_base.h index bdc1a2608e..95a3fd77b1 100644 --- a/webrtc/voice_engine/include/voe_base.h +++ b/webrtc/voice_engine/include/voe_base.h @@ -34,10 +34,10 @@ #ifndef WEBRTC_VOICE_ENGINE_VOE_BASE_H #define WEBRTC_VOICE_ENGINE_VOE_BASE_H +#include "webrtc/api/audio_codecs/audio_decoder_factory.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h" -#include "webrtc/modules/audio_coding/include/audio_coding_module.h" #include "webrtc/common_types.h" +#include "webrtc/modules/audio_coding/include/audio_coding_module.h" namespace webrtc { diff --git a/webrtc/voice_engine/voe_base_impl.cc b/webrtc/voice_engine/voe_base_impl.cc index fecb16a325..6432e502ad 100644 --- a/webrtc/voice_engine/voe_base_impl.cc +++ b/webrtc/voice_engine/voe_base_impl.cc @@ -10,10 +10,10 @@ #include "webrtc/voice_engine/voe_base_impl.h" +#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" #include "webrtc/base/format_macros.h" #include "webrtc/base/logging.h" #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" -#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" #include "webrtc/modules/audio_coding/include/audio_coding_module.h" #include "webrtc/modules/audio_device/audio_device_impl.h" #include "webrtc/modules/audio_processing/include/audio_processing.h"