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}
This commit is contained in:
@ -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",
|
||||
]
|
||||
}
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -1,129 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "webrtc/modules/audio_coding/codecs/audio_decoder.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
#include "webrtc/base/array_view.h"
|
||||
#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 {
|
||||
|
||||
AudioDecoder::ParseResult::ParseResult() = default;
|
||||
AudioDecoder::ParseResult::ParseResult(ParseResult&& b) = default;
|
||||
AudioDecoder::ParseResult::ParseResult(uint32_t timestamp,
|
||||
int priority,
|
||||
std::unique_ptr<EncodedAudioFrame> frame)
|
||||
: timestamp(timestamp), priority(priority), frame(std::move(frame)) {
|
||||
RTC_DCHECK_GE(priority, 0);
|
||||
}
|
||||
|
||||
AudioDecoder::ParseResult::~ParseResult() = default;
|
||||
|
||||
AudioDecoder::ParseResult& AudioDecoder::ParseResult::operator=(
|
||||
ParseResult&& b) = default;
|
||||
|
||||
std::vector<AudioDecoder::ParseResult> AudioDecoder::ParsePayload(
|
||||
rtc::Buffer&& payload,
|
||||
uint32_t timestamp) {
|
||||
std::vector<ParseResult> results;
|
||||
std::unique_ptr<EncodedAudioFrame> frame(
|
||||
new LegacyEncodedAudioFrame(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) {
|
||||
TRACE_EVENT0("webrtc", "AudioDecoder::Decode");
|
||||
rtc::MsanCheckInitialized(rtc::MakeArrayView(encoded, encoded_len));
|
||||
int duration = PacketDuration(encoded, encoded_len);
|
||||
if (duration >= 0 &&
|
||||
duration * Channels() * sizeof(int16_t) > max_decoded_bytes) {
|
||||
return -1;
|
||||
}
|
||||
return DecodeInternal(encoded, encoded_len, sample_rate_hz, decoded,
|
||||
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);
|
||||
if (duration >= 0 &&
|
||||
duration * Channels() * sizeof(int16_t) > max_decoded_bytes) {
|
||||
return -1;
|
||||
}
|
||||
return DecodeRedundantInternal(encoded, encoded_len, sample_rate_hz, decoded,
|
||||
speech_type);
|
||||
}
|
||||
|
||||
int AudioDecoder::DecodeRedundantInternal(const uint8_t* encoded,
|
||||
size_t encoded_len,
|
||||
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; }
|
||||
|
||||
size_t AudioDecoder::DecodePlc(size_t num_frames, int16_t* decoded) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int AudioDecoder::IncomingPacket(const uint8_t* payload,
|
||||
size_t payload_len,
|
||||
uint16_t rtp_sequence_number,
|
||||
uint32_t rtp_timestamp,
|
||||
uint32_t arrival_timestamp) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int AudioDecoder::ErrorCode() { return 0; }
|
||||
|
||||
int AudioDecoder::PacketDuration(const uint8_t* encoded,
|
||||
size_t encoded_len) const {
|
||||
return kNotImplemented;
|
||||
}
|
||||
|
||||
int AudioDecoder::PacketDurationRedundant(const uint8_t* encoded,
|
||||
size_t encoded_len) const {
|
||||
return kNotImplemented;
|
||||
}
|
||||
|
||||
bool AudioDecoder::PacketHasFec(const uint8_t* encoded,
|
||||
size_t encoded_len) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
AudioDecoder::SpeechType AudioDecoder::ConvertSpeechType(int16_t type) {
|
||||
switch (type) {
|
||||
case 0: // TODO(hlundin): Both iSAC and Opus return 0 for speech.
|
||||
case 1:
|
||||
return kSpeech;
|
||||
case 2:
|
||||
return kComfortNoise;
|
||||
default:
|
||||
assert(false);
|
||||
return kSpeech;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
@ -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_
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
/*
|
||||
* 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_AUDIO_DECODER_FACTORY_H_
|
||||
#define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_FACTORY_H_
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "webrtc/base/atomicops.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 {
|
||||
|
||||
// A factory that creates AudioDecoders.
|
||||
// NOTE: This class is still under development and may change without notice.
|
||||
class AudioDecoderFactory : public rtc::RefCountInterface {
|
||||
public:
|
||||
virtual std::vector<AudioCodecSpec> GetSupportedDecoders() = 0;
|
||||
|
||||
virtual bool IsSupportedDecoder(const SdpAudioFormat& format) = 0;
|
||||
|
||||
virtual std::unique_ptr<AudioDecoder> MakeAudioDecoder(
|
||||
const SdpAudioFormat& format) = 0;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_DECODER_FACTORY_H_
|
||||
@ -1,86 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "webrtc/modules/audio_coding/codecs/audio_format.h"
|
||||
|
||||
#include "webrtc/common_types.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
SdpAudioFormat::SdpAudioFormat(const SdpAudioFormat&) = default;
|
||||
SdpAudioFormat::SdpAudioFormat(SdpAudioFormat&&) = default;
|
||||
|
||||
SdpAudioFormat::SdpAudioFormat(const char* name,
|
||||
int clockrate_hz,
|
||||
int num_channels)
|
||||
: name(name), clockrate_hz(clockrate_hz), num_channels(num_channels) {}
|
||||
|
||||
SdpAudioFormat::SdpAudioFormat(const std::string& name,
|
||||
int clockrate_hz,
|
||||
int num_channels)
|
||||
: name(name), clockrate_hz(clockrate_hz), num_channels(num_channels) {}
|
||||
|
||||
SdpAudioFormat::SdpAudioFormat(const char* name,
|
||||
int clockrate_hz,
|
||||
int num_channels,
|
||||
const Parameters& param)
|
||||
: name(name),
|
||||
clockrate_hz(clockrate_hz),
|
||||
num_channels(num_channels),
|
||||
parameters(param) {}
|
||||
|
||||
SdpAudioFormat::SdpAudioFormat(const std::string& name,
|
||||
int clockrate_hz,
|
||||
int num_channels,
|
||||
const Parameters& param)
|
||||
: name(name),
|
||||
clockrate_hz(clockrate_hz),
|
||||
num_channels(num_channels),
|
||||
parameters(param) {}
|
||||
|
||||
SdpAudioFormat::~SdpAudioFormat() = default;
|
||||
SdpAudioFormat& SdpAudioFormat::operator=(const SdpAudioFormat&) = default;
|
||||
SdpAudioFormat& SdpAudioFormat::operator=(SdpAudioFormat&&) = default;
|
||||
|
||||
bool operator==(const SdpAudioFormat& a, const SdpAudioFormat& b) {
|
||||
return STR_CASE_CMP(a.name.c_str(), b.name.c_str()) == 0 &&
|
||||
a.clockrate_hz == b.clockrate_hz && a.num_channels == b.num_channels &&
|
||||
a.parameters == b.parameters;
|
||||
}
|
||||
|
||||
void swap(SdpAudioFormat& a, SdpAudioFormat& b) {
|
||||
using std::swap;
|
||||
swap(a.name, b.name);
|
||||
swap(a.clockrate_hz, b.clockrate_hz);
|
||||
swap(a.num_channels, b.num_channels);
|
||||
swap(a.parameters, b.parameters);
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const SdpAudioFormat& saf) {
|
||||
os << "{name: " << saf.name;
|
||||
os << ", clockrate_hz: " << saf.clockrate_hz;
|
||||
os << ", num_channels: " << saf.num_channels;
|
||||
os << ", parameters: {";
|
||||
const char* sep = "";
|
||||
for (const auto& kv : saf.parameters) {
|
||||
os << sep << kv.first << ": " << kv.second;
|
||||
sep = ", ";
|
||||
}
|
||||
os << "}}";
|
||||
return os;
|
||||
}
|
||||
|
||||
AudioCodecSpec::AudioCodecSpec(const SdpAudioFormat& format)
|
||||
: format(format) {}
|
||||
|
||||
AudioCodecSpec::AudioCodecSpec(SdpAudioFormat&& format)
|
||||
: format(std::move(format)) {}
|
||||
|
||||
} // namespace webrtc
|
||||
@ -1,81 +0,0 @@
|
||||
/*
|
||||
* 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_AUDIO_FORMAT_H_
|
||||
#define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_
|
||||
|
||||
#include <map>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// SDP specification for a single audio codec.
|
||||
// NOTE: This class is still under development and may change without notice.
|
||||
struct SdpAudioFormat {
|
||||
using Parameters = std::map<std::string, std::string>;
|
||||
|
||||
SdpAudioFormat(const SdpAudioFormat&);
|
||||
SdpAudioFormat(SdpAudioFormat&&);
|
||||
SdpAudioFormat(const char* name, int clockrate_hz, int num_channels);
|
||||
SdpAudioFormat(const std::string& name, int clockrate_hz, int num_channels);
|
||||
SdpAudioFormat(const char* name,
|
||||
int clockrate_hz,
|
||||
int num_channels,
|
||||
const Parameters& param);
|
||||
SdpAudioFormat(const std::string& name,
|
||||
int clockrate_hz,
|
||||
int num_channels,
|
||||
const Parameters& param);
|
||||
~SdpAudioFormat();
|
||||
|
||||
SdpAudioFormat& operator=(const SdpAudioFormat&);
|
||||
SdpAudioFormat& operator=(SdpAudioFormat&&);
|
||||
|
||||
friend bool operator==(const SdpAudioFormat& a, const SdpAudioFormat& b);
|
||||
friend bool operator!=(const SdpAudioFormat& a, const SdpAudioFormat& b) {
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
std::string name;
|
||||
int clockrate_hz;
|
||||
int num_channels;
|
||||
Parameters parameters;
|
||||
};
|
||||
|
||||
void swap(SdpAudioFormat& a, SdpAudioFormat& b);
|
||||
std::ostream& operator<<(std::ostream& os, const SdpAudioFormat& saf);
|
||||
|
||||
// To avoid API breakage, and make the code clearer, AudioCodecSpec should not
|
||||
// be directly initializable with any flags indicating optional support. If it
|
||||
// were, these initializers would break any time a new flag was added. It's also
|
||||
// more difficult to understand:
|
||||
// AudioCodecSpec spec{{"format", 8000, 1}, true, false, false, true, true};
|
||||
// than
|
||||
// AudioCodecSpec spec({"format", 8000, 1});
|
||||
// spec.allow_comfort_noise = true;
|
||||
// spec.future_flag_b = true;
|
||||
// spec.future_flag_c = true;
|
||||
struct AudioCodecSpec {
|
||||
explicit AudioCodecSpec(const SdpAudioFormat& format);
|
||||
explicit AudioCodecSpec(SdpAudioFormat&& format);
|
||||
~AudioCodecSpec() = default;
|
||||
|
||||
SdpAudioFormat format;
|
||||
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_
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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_
|
||||
|
||||
@ -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 @@ class BuiltinAudioDecoderFactory : public AudioDecoderFactory {
|
||||
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 @@ class BuiltinAudioDecoderFactory : public AudioDecoderFactory {
|
||||
|
||||
} // namespace
|
||||
|
||||
rtc::scoped_refptr<AudioDecoderFactory> CreateBuiltinAudioDecoderFactory() {
|
||||
rtc::scoped_refptr<AudioDecoderFactory>
|
||||
CreateBuiltinAudioDecoderFactoryInternal() {
|
||||
return rtc::scoped_refptr<AudioDecoderFactory>(
|
||||
new rtc::RefCountedObject<BuiltinAudioDecoderFactory>);
|
||||
}
|
||||
@ -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_
|
||||
@ -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 {
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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"
|
||||
|
||||
Reference in New Issue
Block a user