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/audio_coding.gypi b/webrtc/modules/audio_coding/audio_coding.gypi
index e460853..af2cb3c 100644
--- a/webrtc/modules/audio_coding/audio_coding.gypi
+++ b/webrtc/modules/audio_coding/audio_coding.gypi
@@ -69,6 +69,50 @@
   },
   'targets': [
     {
+      'target_name': 'audio_decoder_factory_interface',
+      'type': 'static_library',
+      'dependencies': [
+        '<(webrtc_root)/common.gyp:webrtc_common',
+      ],
+      'include_dirs': [
+        '<(webrtc_root)',
+      ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '<(webrtc_root)',
+        ],
+      },
+      'sources': [
+        'codecs/audio_decoder_factory.h',
+        'codecs/audio_format.cc',
+        'codecs/audio_format.h',
+      ],
+    },
+    {
+      'target_name': 'builtin_audio_decoder_factory',
+      'type': 'static_library',
+      'defines': [
+        '<@(audio_codec_defines)',
+      ],
+      'dependencies': [
+        '<(webrtc_root)/common.gyp:webrtc_common',
+        '<@(audio_codec_dependencies)',
+        'audio_decoder_factory_interface',
+      ],
+      'include_dirs': [
+        '<(webrtc_root)',
+      ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '<(webrtc_root)',
+        ],
+      },
+      'sources': [
+        'codecs/builtin_audio_decoder_factory.cc',
+        'codecs/builtin_audio_decoder_factory.h',
+      ],
+    },
+    {
       'target_name': 'rent_a_codec',
       'type': 'static_library',
       'defines': [