New interface (AudioDecoderFactory), with an implementation
This is a first draft of what we're hoping to use to create all
AudioDecoder instances. Follow-up CLs will start using this internally
in NetEq instead of calling constructors manually.
BUG=webrtc:5801
Review-Url: https://codereview.webrtc.org/1917163002
Cr-Commit-Position: refs/heads/master@{#12548}
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 3797818..a51a73a 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -39,6 +39,33 @@
audio_codec_deps += [ ":red" ]
}
+source_set("audio_decoder_factory_interface") {
+ sources = [
+ "codecs/audio_decoder_factory.h",
+ "codecs/audio_format.cc",
+ "codecs/audio_format.h",
+ ]
+ configs += [ "../..:common_config" ]
+ public_configs = [ "../..:common_inherited_config" ]
+ deps = [
+ "../..:webrtc_common",
+ ]
+}
+
+source_set("builtin_audio_decoder_factory") {
+ sources = [
+ "codecs/builtin_audio_decoder_factory.cc",
+ "codecs/builtin_audio_decoder_factory.h",
+ ]
+ configs += [ "../..:common_config" ]
+ public_configs = [ "../..:common_inherited_config" ]
+ deps = [
+ "../..:webrtc_common",
+ ":audio_decoder_factory_interface",
+ ] + audio_codec_deps
+ defines = audio_codec_defines
+}
+
source_set("rent_a_codec") {
sources = [
"acm2/acm_codec_database.cc",