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}
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index 8c443cb..2e3d5fe 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -29,8 +29,8 @@
":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 4543a44..0b3778b 100644
--- a/webrtc/api/DEPS
+++ b/webrtc/api/DEPS
@@ -12,9 +12,11 @@
"+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 0000000..c003df8
--- /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 65%
rename from webrtc/modules/audio_coding/codecs/audio_decoder.cc
rename to webrtc/api/audio_codecs/audio_decoder.cc
index afa5115..90342a8 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 <assert.h>
#include <memory>
@@ -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<size_t>(ret);
+ }
+
+ rtc::Optional<DecodeResult> Decode(
+ rtc::ArrayView<int16_t> 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<DecodeResult>()
+ : rtc::Optional<DecodeResult>(
+ {static_cast<size_t>(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 @@
uint32_t timestamp) {
std::vector<ParseResult> results;
std::unique_ptr<EncodedAudioFrame> 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 @@
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::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 @@
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 0000000..dab7d3b
--- /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 <memory>
+#include <vector>
+
+#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<DecodeResult> Decode(
+ rtc::ArrayView<int16_t> decoded) const = 0;
+ };
+
+ struct ParseResult {
+ ParseResult();
+ ParseResult(uint32_t timestamp,
+ int priority,
+ std::unique_ptr<EncodedAudioFrame> 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<EncodedAudioFrame> 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<ParseResult> 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 ca578f3..3479a4e 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 <memory>
#include <vector>
-#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 @@
} // 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 94%
rename from webrtc/modules/audio_coding/codecs/audio_format.cc
rename to webrtc/api/audio_codecs/audio_format.cc
index f2a87d3..b0a86e2 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 @@
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 6f2c8cf..db3990f 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 <map>
#include <ostream>
@@ -70,12 +70,12 @@
~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 0000000..9bd049b
--- /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<AudioDecoderFactory> 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 0000000..f7452f4
--- /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<AudioDecoderFactory> 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 ea94f50..2a22258 100644
--- a/webrtc/api/peerconnectioninterface.h
+++ b/webrtc/api/peerconnectioninterface.h
@@ -73,13 +73,14 @@
#include <utility>
#include <vector>
+#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 3841672..f441c31 100644
--- a/webrtc/call/audio_receive_stream.h
+++ b/webrtc/call/audio_receive_stream.h
@@ -16,10 +16,10 @@
#include <string>
#include <vector>
+#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 3684381..52d421e 100644
--- a/webrtc/logging/BUILD.gn
+++ b/webrtc/logging/BUILD.gn
@@ -139,7 +139,7 @@
"../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 0dbac55..e5e64f7 100644
--- a/webrtc/media/base/mediaengine.h
+++ b/webrtc/media/base/mediaengine.h
@@ -18,6 +18,7 @@
#include <string>
#include <vector>
+#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 496a39a..b163f90 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 248aace..e634c9a 100644
--- a/webrtc/media/engine/payload_type_mapper.h
+++ b/webrtc/media/engine/payload_type_mapper.h
@@ -14,9 +14,9 @@
#include <map>
#include <set>
+#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 1a82839..9b5fef2 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 <algorithm>
+#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 03e50a1..c58c75b 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 b655a49..abe4b53 100644
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
@@ -10,12 +10,11 @@
#include <memory>
-#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 05dfbc3..908ed5c 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -39,52 +39,27 @@
"../../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 @@
"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 @@
}
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
]
deps = [
- ":audio_decoder_interface",
":audio_encoder_interface",
":isac_common",
+ "../../api/audio_codecs:audio_codecs_api",
]
public_deps = [
":isac_c",
@@ -619,9 +594,9 @@
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 @@
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 @@
]
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 @@
]
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 @@
]
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
}
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 @@
}
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 @@
}
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 @@
"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 @@
":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 @@
":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 @@
}
}
}
+
+# 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 88fe7c2..1eae859 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 <memory>
+#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 834fa56..1076978 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 <memory>
#include <string>
+#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 57ae527..fd4e91a 100644
--- a/webrtc/modules/audio_coding/acm2/acm_receiver.cc
+++ b/webrtc/modules/audio_coding/acm2/acm_receiver.cc
@@ -15,13 +15,13 @@
#include <algorithm> // sort
#include <vector>
+#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 92a06b2..d5a63cc 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 <algorithm> // std::min
#include <memory>
+#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 44450f2..32e6940 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 574b15d..c7bbfb0 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 <memory>
#include <vector>
+#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 02a5dd9..069e1d5 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 <map>
#include <memory>
+#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 8468da2..da06282 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 <memory>
-#include <vector>
+#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<DecodeResult> Decode(
- rtc::ArrayView<int16_t> decoded) const = 0;
- };
-
- struct ParseResult {
- ParseResult();
- ParseResult(uint32_t timestamp,
- int priority,
- std::unique_ptr<EncodedAudioFrame> 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<EncodedAudioFrame> 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<ParseResult> 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 9267a52..0fa3a50 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 7bc3586..7e6407a 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 <memory>
-
-#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<AudioDecoderFactory> 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 87%
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 5f14f97..fd9f066 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 <memory>
#include <vector>
#include "webrtc/base/checks.h"
@@ -176,34 +177,35 @@
std::vector<AudioCodecSpec> 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<AudioCodecSpec> specs =
- []{
- std::vector<AudioCodecSpec> specs;
+ static std::vector<AudioCodecSpec> specs = [] {
+ std::vector<AudioCodecSpec> 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 @@
} // namespace
-rtc::scoped_refptr<AudioDecoderFactory> CreateBuiltinAudioDecoderFactory() {
+rtc::scoped_refptr<AudioDecoderFactory>
+CreateBuiltinAudioDecoderFactoryInternal() {
return rtc::scoped_refptr<AudioDecoderFactory>(
new rtc::RefCountedObject<BuiltinAudioDecoderFactory>);
}
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 0000000..10f356a
--- /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<AudioDecoderFactory>
+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 0379613..7e67095 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 <memory>
-#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 b1d259e..563d6ae 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 9e7c5d9..c53c78c 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 48edfed..bc01a5d 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 fec7d59..1017cbc 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 <vector>
+#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 466c8b3..46b91ce 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 <vector>
+#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 b988b85..3b91491 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 <vector>
+#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 a0fb34c..e848f37 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 577eecc5..969aa4e 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 a0dafec..cd99579 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 <string>
#include <vector>
+#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 5b064ec..a876f17 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 <assert.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/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 9493d0a..ef3129b 100644
--- a/webrtc/modules/audio_coding/neteq/comfort_noise.cc
+++ b/webrtc/modules/audio_coding/neteq/comfort_noise.cc
@@ -12,8 +12,8 @@
#include <assert.h>
+#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 fa120d2..16bec04 100644
--- a/webrtc/modules/audio_coding/neteq/decoder_database.cc
+++ b/webrtc/modules/audio_coding/neteq/decoder_database.cc
@@ -12,9 +12,9 @@
#include <utility> // 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 83789da..114cca3 100644
--- a/webrtc/modules/audio_coding/neteq/decoder_database.h
+++ b/webrtc/modules/audio_coding/neteq/decoder_database.h
@@ -15,10 +15,10 @@
#include <memory>
#include <string>
+#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 22bbf6c..f3e6a64 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 <string>
-#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 64eeed1..f5b343d 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 dd12f18..a8919f2 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 f1ccfa9..4b3c0b7 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 <memory>
-#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 592d284..09a3296 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_impl.cc
+++ b/webrtc/modules/audio_coding/neteq/neteq_impl.cc
@@ -17,13 +17,13 @@
#include <utility>
#include <vector>
+#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 1c93543..de07ae2 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 <memory>
-#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 fb2648d..0d15f88 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 <string>
#include <list>
-#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 ecefc45..b77b734 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
+++ b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
@@ -21,10 +21,10 @@
#include <vector>
#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 9e6f19e..3dee39a 100644
--- a/webrtc/modules/audio_coding/neteq/normal.cc
+++ b/webrtc/modules/audio_coding/neteq/normal.cc
@@ -14,9 +14,9 @@
#include <algorithm> // 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 74da83f..7d91f25 100644
--- a/webrtc/modules/audio_coding/neteq/packet.h
+++ b/webrtc/modules/audio_coding/neteq/packet.h
@@ -14,8 +14,8 @@
#include <list>
#include <memory>
+#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 a9a396d..489c7c7 100644
--- a/webrtc/modules/audio_coding/neteq/packet_buffer.cc
+++ b/webrtc/modules/audio_coding/neteq/packet_buffer.cc
@@ -16,8 +16,8 @@
#include <algorithm> // 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 dcb4f1a..e8795a9 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 7bf5ad1..dd64818 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 <string> // 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 cd85f03..60cf39f 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 <memory>
#include <utility> // 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 41c3342..13c4554 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 69f9c82..9f91c81 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 <memory>
+#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 123a315..ed51279 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 fb1c5b2..208d8da 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 <memory>
#include <string>
-#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 73e004c..4349a70 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 0b4edc6..7b3a35b 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 <math.h>
#include <stdio.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/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 1ea2cb8..cc88b38 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 <iostream>
-#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 d080811..f575b2a 100644
--- a/webrtc/modules/audio_coding/test/TwoWayCommunication.cc
+++ b/webrtc/modules/audio_coding/test/TwoWayCommunication.cc
@@ -20,9 +20,9 @@
#include <Windows.h>
#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 ec11b9f..ae042d4 100644
--- a/webrtc/modules/utility/BUILD.gn
+++ b/webrtc/modules/utility/BUILD.gn
@@ -35,10 +35,6 @@
"../../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 f819b3e..4adee15 100644
--- a/webrtc/pc/peerconnectionfactory.cc
+++ b/webrtc/pc/peerconnectionfactory.cc
@@ -12,6 +12,7 @@
#include <utility>
+#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 f7d4777..84bfa3a 100644
--- a/webrtc/pc/peerconnectioninterface_unittest.cc
+++ b/webrtc/pc/peerconnectioninterface_unittest.cc
@@ -13,6 +13,7 @@
#include <string>
#include <utility>
+#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 f42c990..833e53c 100644
--- a/webrtc/test/call_test.cc
+++ b/webrtc/test/call_test.cc
@@ -12,9 +12,9 @@
#include <algorithm>
+#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 54c56ad..adc0fc7 100644
--- a/webrtc/test/fuzzers/audio_decoder_fuzzer.cc
+++ b/webrtc/test/fuzzers/audio_decoder_fuzzer.cc
@@ -12,9 +12,9 @@
#include <limits>
+#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 46a0ede..169a7f4 100644
--- a/webrtc/tools/BUILD.gn
+++ b/webrtc/tools/BUILD.gn
@@ -208,7 +208,7 @@
"../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 ea2549f..22739af 100644
--- a/webrtc/voice_engine/BUILD.gn
+++ b/webrtc/voice_engine/BUILD.gn
@@ -15,9 +15,9 @@
]
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 @@
"../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 82eb248..552e5a5 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 bdc1a26..95a3fd7 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 fecb16a..6432e50 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"