Define an extensible audio format description

The new way for describing audio formats which can be used
both in framework <-> framework and framework <-> HAL
interfaces and directly supports extensions by vendors.

The mapping is defined between the legacy audio_format_t
and the new descriptions.

The new description will replace the AudioFormatSys SAIDL enum.

For bitstream types, MIME Media Types are used. Stagefright's
list of media types is extended.

Bug: 188932434
Test: atest audio_aidl_conversion_tests
Change-Id: Id0a0186b44c15dcb65980daf4b8a4257ef6adb72
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index 4652a18..809a26b 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -229,6 +229,7 @@
         "libbinder",
         "liblog",
         "libshmemcompat",
+        "libstagefright_foundation",
         "libutils",
         "shared-file-region-aidl-cpp",
         "framework-permission-aidl-cpp",
@@ -312,6 +313,8 @@
         "aidl/android/media/AudioEncapsulationMode.aidl",
         "aidl/android/media/AudioEncapsulationMetadataType.aidl",
         "aidl/android/media/AudioEncapsulationType.aidl",
+        "aidl/android/media/AudioFormatDescription.aidl",
+        "aidl/android/media/AudioFormatType.aidl",
         "aidl/android/media/AudioFormatSys.aidl",
         "aidl/android/media/AudioFlag.aidl",
         "aidl/android/media/AudioGain.aidl",
@@ -352,6 +355,7 @@
         "aidl/android/media/AudioVibratorInfo.aidl",
         "aidl/android/media/EffectDescriptor.aidl",
         "aidl/android/media/ExtraAudioDescriptor.aidl",
+        "aidl/android/media/PcmType.aidl",
         "aidl/android/media/TrackSecondaryOutputInfo.aidl",
     ],
     imports: [