diff --git a/audio/Android.bp b/audio/Android.bp
index 1e9e569..68043da 100644
--- a/audio/Android.bp
+++ b/audio/Android.bp
@@ -15,5 +15,8 @@
         windows: {
             enabled: true,
         },
+        vendor: {
+            cflags: ["AUDIO_NO_SYSTEM_DECLARATIONS"],
+        },
     }
 }
diff --git a/audio/include/system/audio-base-utils.h b/audio/include/system/audio-base-utils.h
new file mode 100644
index 0000000..bd3e763
--- /dev/null
+++ b/audio/include/system/audio-base-utils.h
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_AUDIO_BASE_UTILS_H
+#define ANDROID_AUDIO_BASE_UTILS_H
+
+#include "audio-base.h"
+
+/** Define helper values to iterate over enum, extend them or checking value validity.
+ *  Those values are compatible with the O corresponding enum values.
+ *  They are not macro like similar values in audio.h to avoid conflicting
+ *  with the libhardware_legacy audio.h.
+ */
+enum {
+    /** Number of audio stream available to vendors. */
+    AUDIO_STREAM_PUBLIC_CNT = AUDIO_STREAM_ACCESSIBILITY + 1,
+
+#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
+    /** Total number of stream handled by the policy*/
+    AUDIO_STREAM_FOR_POLICY_CNT= AUDIO_STREAM_REROUTING + 1,
+#endif
+
+   /** Total number of stream. */
+    AUDIO_STREAM_CNT          = AUDIO_STREAM_PATCH + 1,
+
+    AUDIO_SOURCE_MAX          = AUDIO_SOURCE_UNPROCESSED,
+    AUDIO_SOURCE_CNT          = AUDIO_SOURCE_MAX + 1,
+
+    AUDIO_MODE_MAX            = AUDIO_MODE_IN_COMMUNICATION,
+    AUDIO_MODE_CNT            = AUDIO_MODE_MAX + 1,
+
+    /** For retrocompatibility AUDIO_MODE_* and AUDIO_STREAM_* must be signed. */
+    AUDIO_DETAIL_NEGATIVE_VALUE = -1,
+};
+
+enum {
+    AUDIO_CHANNEL_OUT_ALL     = AUDIO_CHANNEL_OUT_FRONT_LEFT |
+                                AUDIO_CHANNEL_OUT_FRONT_RIGHT |
+                                AUDIO_CHANNEL_OUT_FRONT_CENTER |
+                                AUDIO_CHANNEL_OUT_LOW_FREQUENCY |
+                                AUDIO_CHANNEL_OUT_BACK_LEFT |
+                                AUDIO_CHANNEL_OUT_BACK_RIGHT |
+                                AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER |
+                                AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER |
+                                AUDIO_CHANNEL_OUT_BACK_CENTER |
+                                AUDIO_CHANNEL_OUT_SIDE_LEFT |
+                                AUDIO_CHANNEL_OUT_SIDE_RIGHT |
+                                AUDIO_CHANNEL_OUT_TOP_CENTER |
+                                AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT |
+                                AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER |
+                                AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT |
+                                AUDIO_CHANNEL_OUT_TOP_BACK_LEFT |
+                                AUDIO_CHANNEL_OUT_TOP_BACK_CENTER |
+                                AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT |
+                                AUDIO_CHANNEL_OUT_TOP_CENTER_LEFT |
+                                AUDIO_CHANNEL_OUT_TOP_CENTER_RIGHT,
+
+    AUDIO_CHANNEL_IN_ALL      = AUDIO_CHANNEL_IN_LEFT |
+                                AUDIO_CHANNEL_IN_RIGHT |
+                                AUDIO_CHANNEL_IN_FRONT |
+                                AUDIO_CHANNEL_IN_BACK|
+                                AUDIO_CHANNEL_IN_LEFT_PROCESSED |
+                                AUDIO_CHANNEL_IN_RIGHT_PROCESSED |
+                                AUDIO_CHANNEL_IN_FRONT_PROCESSED |
+                                AUDIO_CHANNEL_IN_BACK_PROCESSED|
+                                AUDIO_CHANNEL_IN_PRESSURE |
+                                AUDIO_CHANNEL_IN_X_AXIS |
+                                AUDIO_CHANNEL_IN_Y_AXIS |
+                                AUDIO_CHANNEL_IN_Z_AXIS |
+                                AUDIO_CHANNEL_IN_VOICE_UPLINK |
+                                AUDIO_CHANNEL_IN_VOICE_DNLINK |
+                                AUDIO_CHANNEL_IN_BACK_LEFT |
+                                AUDIO_CHANNEL_IN_BACK_RIGHT |
+                                AUDIO_CHANNEL_IN_CENTER |
+                                AUDIO_CHANNEL_IN_LOW_FREQUENCY |
+                                AUDIO_CHANNEL_IN_TOP_LEFT |
+                                AUDIO_CHANNEL_IN_TOP_RIGHT,
+
+    AUDIO_DEVICE_OUT_ALL      = AUDIO_DEVICE_OUT_EARPIECE |
+                                AUDIO_DEVICE_OUT_SPEAKER |
+                                AUDIO_DEVICE_OUT_WIRED_HEADSET |
+                                AUDIO_DEVICE_OUT_WIRED_HEADPHONE |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_SCO |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_A2DP |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER |
+                                AUDIO_DEVICE_OUT_HDMI |
+                                AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET |
+                                AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET |
+                                AUDIO_DEVICE_OUT_USB_ACCESSORY |
+                                AUDIO_DEVICE_OUT_USB_DEVICE |
+                                AUDIO_DEVICE_OUT_REMOTE_SUBMIX |
+                                AUDIO_DEVICE_OUT_TELEPHONY_TX |
+                                AUDIO_DEVICE_OUT_LINE |
+                                AUDIO_DEVICE_OUT_HDMI_ARC |
+                                AUDIO_DEVICE_OUT_SPDIF |
+                                AUDIO_DEVICE_OUT_FM |
+                                AUDIO_DEVICE_OUT_AUX_LINE |
+                                AUDIO_DEVICE_OUT_SPEAKER_SAFE |
+                                AUDIO_DEVICE_OUT_IP |
+                                AUDIO_DEVICE_OUT_BUS |
+                                AUDIO_DEVICE_OUT_PROXY |
+                                AUDIO_DEVICE_OUT_USB_HEADSET |
+                                AUDIO_DEVICE_OUT_HEARING_AID |
+                                AUDIO_DEVICE_OUT_ECHO_CANCELLER |
+                                AUDIO_DEVICE_OUT_DEFAULT,
+
+    AUDIO_DEVICE_OUT_ALL_A2DP = AUDIO_DEVICE_OUT_BLUETOOTH_A2DP |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER,
+
+    AUDIO_DEVICE_OUT_ALL_SCO  = AUDIO_DEVICE_OUT_BLUETOOTH_SCO |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET |
+                                AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT,
+
+    AUDIO_DEVICE_OUT_ALL_USB  = AUDIO_DEVICE_OUT_USB_ACCESSORY |
+                                AUDIO_DEVICE_OUT_USB_DEVICE |
+                                AUDIO_DEVICE_OUT_USB_HEADSET,
+
+    AUDIO_DEVICE_IN_ALL       = AUDIO_DEVICE_IN_COMMUNICATION |
+                                AUDIO_DEVICE_IN_AMBIENT |
+                                AUDIO_DEVICE_IN_BUILTIN_MIC |
+                                AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET |
+                                AUDIO_DEVICE_IN_WIRED_HEADSET |
+                                AUDIO_DEVICE_IN_HDMI |
+                                AUDIO_DEVICE_IN_TELEPHONY_RX |
+                                AUDIO_DEVICE_IN_BACK_MIC |
+                                AUDIO_DEVICE_IN_REMOTE_SUBMIX |
+                                AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET |
+                                AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET |
+                                AUDIO_DEVICE_IN_USB_ACCESSORY |
+                                AUDIO_DEVICE_IN_USB_DEVICE |
+                                AUDIO_DEVICE_IN_FM_TUNER |
+                                AUDIO_DEVICE_IN_TV_TUNER |
+                                AUDIO_DEVICE_IN_LINE |
+                                AUDIO_DEVICE_IN_SPDIF |
+                                AUDIO_DEVICE_IN_BLUETOOTH_A2DP |
+                                AUDIO_DEVICE_IN_LOOPBACK |
+                                AUDIO_DEVICE_IN_IP |
+                                AUDIO_DEVICE_IN_BUS |
+                                AUDIO_DEVICE_IN_PROXY |
+                                AUDIO_DEVICE_IN_USB_HEADSET |
+                                AUDIO_DEVICE_IN_BLUETOOTH_BLE |
+                                AUDIO_DEVICE_IN_DEFAULT,
+
+    AUDIO_DEVICE_IN_ALL_SCO   = AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET,
+
+    AUDIO_DEVICE_IN_ALL_USB   = AUDIO_DEVICE_IN_USB_ACCESSORY |
+                                AUDIO_DEVICE_IN_USB_DEVICE |
+                                AUDIO_DEVICE_IN_USB_HEADSET,
+
+    AUDIO_USAGE_MAX           = AUDIO_USAGE_ASSISTANT,
+    AUDIO_USAGE_CNT           = AUDIO_USAGE_ASSISTANT + 1,
+
+    AUDIO_PORT_CONFIG_ALL     = AUDIO_PORT_CONFIG_SAMPLE_RATE |
+                                AUDIO_PORT_CONFIG_CHANNEL_MASK |
+                                AUDIO_PORT_CONFIG_FORMAT |
+                                AUDIO_PORT_CONFIG_GAIN,
+}; // enum
+
+
+#endif  // ANDROID_AUDIO_BASE_UTILS_H
diff --git a/audio/include/system/audio-base.h b/audio/include/system/audio-base.h
index 441226d..9152084 100644
--- a/audio/include/system/audio-base.h
+++ b/audio/include/system/audio-base.h
@@ -1,9 +1,10 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
-// Source: android.hardware.audio.common@2.0
+// This file is autogenerated by hidl-gen
+// then manualy edited for retrocompatiblity
+// Source: android.hardware.audio.common@4.0
 // Root: android.hardware:hardware/interfaces
 
-#ifndef HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V2_0_EXPORTED_CONSTANTS_H_
-#define HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V2_0_EXPORTED_CONSTANTS_H_
+#ifndef HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
+#define HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
 
 #ifdef __cplusplus
 extern "C" {
@@ -30,11 +31,12 @@
     AUDIO_STREAM_DTMF = 8,
     AUDIO_STREAM_TTS = 9,
     AUDIO_STREAM_ACCESSIBILITY = 10,
+#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
+    /** For dynamic policy output mixes. Only used by the audio policy */
     AUDIO_STREAM_REROUTING = 11,
+    /** For audio flinger tracks volume. Only used by the audioflinger */
     AUDIO_STREAM_PATCH = 12,
-    AUDIO_STREAM_PUBLIC_CNT = 11, // (ACCESSIBILITY + 1)
-    AUDIO_STREAM_FOR_POLICY_CNT = 12, // PATCH
-    AUDIO_STREAM_CNT = 13, // (PATCH + 1)
+#endif // AUDIO_NO_SYSTEM_DECLARATIONS
 } audio_stream_type_t;
 
 typedef enum {
@@ -48,10 +50,15 @@
     AUDIO_SOURCE_VOICE_COMMUNICATION = 7,
     AUDIO_SOURCE_REMOTE_SUBMIX = 8,
     AUDIO_SOURCE_UNPROCESSED = 9,
-    AUDIO_SOURCE_CNT = 10,
-    AUDIO_SOURCE_MAX = 9, // (CNT - 1)
     AUDIO_SOURCE_FM_TUNER = 1998,
+#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
+    /**
+     * A low-priority, preemptible audio source for for background software
+     * hotword detection. Same tuning as VOICE_RECOGNITION.
+     * Used only internally by the framework.
+     */
     AUDIO_SOURCE_HOTWORD = 1999,
+#endif // AUDIO_NO_SYSTEM_DECLARATIONS
 } audio_source_t;
 
 typedef enum {
@@ -62,64 +69,70 @@
 } audio_session_t;
 
 typedef enum {
-    AUDIO_FORMAT_INVALID = 4294967295u, // 0xFFFFFFFFUL
-    AUDIO_FORMAT_DEFAULT = 0u, // 0
-    AUDIO_FORMAT_PCM = 0u, // 0x00000000UL
-    AUDIO_FORMAT_MP3 = 16777216u, // 0x01000000UL
-    AUDIO_FORMAT_AMR_NB = 33554432u, // 0x02000000UL
-    AUDIO_FORMAT_AMR_WB = 50331648u, // 0x03000000UL
-    AUDIO_FORMAT_AAC = 67108864u, // 0x04000000UL
-    AUDIO_FORMAT_HE_AAC_V1 = 83886080u, // 0x05000000UL
-    AUDIO_FORMAT_HE_AAC_V2 = 100663296u, // 0x06000000UL
-    AUDIO_FORMAT_VORBIS = 117440512u, // 0x07000000UL
-    AUDIO_FORMAT_OPUS = 134217728u, // 0x08000000UL
-    AUDIO_FORMAT_AC3 = 150994944u, // 0x09000000UL
-    AUDIO_FORMAT_E_AC3 = 167772160u, // 0x0A000000UL
-    AUDIO_FORMAT_DTS = 184549376u, // 0x0B000000UL
-    AUDIO_FORMAT_DTS_HD = 201326592u, // 0x0C000000UL
-    AUDIO_FORMAT_IEC61937 = 218103808u, // 0x0D000000UL
-    AUDIO_FORMAT_DOLBY_TRUEHD = 234881024u, // 0x0E000000UL
-    AUDIO_FORMAT_EVRC = 268435456u, // 0x10000000UL
-    AUDIO_FORMAT_EVRCB = 285212672u, // 0x11000000UL
-    AUDIO_FORMAT_EVRCWB = 301989888u, // 0x12000000UL
-    AUDIO_FORMAT_EVRCNW = 318767104u, // 0x13000000UL
-    AUDIO_FORMAT_AAC_ADIF = 335544320u, // 0x14000000UL
-    AUDIO_FORMAT_WMA = 352321536u, // 0x15000000UL
-    AUDIO_FORMAT_WMA_PRO = 369098752u, // 0x16000000UL
-    AUDIO_FORMAT_AMR_WB_PLUS = 385875968u, // 0x17000000UL
-    AUDIO_FORMAT_MP2 = 402653184u, // 0x18000000UL
-    AUDIO_FORMAT_QCELP = 419430400u, // 0x19000000UL
-    AUDIO_FORMAT_DSD = 436207616u, // 0x1A000000UL
-    AUDIO_FORMAT_FLAC = 452984832u, // 0x1B000000UL
-    AUDIO_FORMAT_ALAC = 469762048u, // 0x1C000000UL
-    AUDIO_FORMAT_APE = 486539264u, // 0x1D000000UL
-    AUDIO_FORMAT_AAC_ADTS = 503316480u, // 0x1E000000UL
-    AUDIO_FORMAT_SBC = 520093696u, // 0x1F000000UL
-    AUDIO_FORMAT_APTX = 536870912u, // 0x20000000UL
-    AUDIO_FORMAT_APTX_HD = 553648128u, // 0x21000000UL
-    AUDIO_FORMAT_AC4 = 570425344u, // 0x22000000UL
-    AUDIO_FORMAT_LDAC = 587202560u, // 0x23000000UL
-    AUDIO_FORMAT_MAIN_MASK = 4278190080u, // 0xFF000000UL
-    AUDIO_FORMAT_SUB_MASK = 16777215u, // 0x00FFFFFFUL
-    AUDIO_FORMAT_PCM_SUB_16_BIT = 1u, // 0x1
-    AUDIO_FORMAT_PCM_SUB_8_BIT = 2u, // 0x2
-    AUDIO_FORMAT_PCM_SUB_32_BIT = 3u, // 0x3
-    AUDIO_FORMAT_PCM_SUB_8_24_BIT = 4u, // 0x4
-    AUDIO_FORMAT_PCM_SUB_FLOAT = 5u, // 0x5
-    AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 6u, // 0x6
-    AUDIO_FORMAT_MP3_SUB_NONE = 0u, // 0x0
-    AUDIO_FORMAT_AMR_SUB_NONE = 0u, // 0x0
-    AUDIO_FORMAT_AAC_SUB_MAIN = 1u, // 0x1
-    AUDIO_FORMAT_AAC_SUB_LC = 2u, // 0x2
-    AUDIO_FORMAT_AAC_SUB_SSR = 4u, // 0x4
-    AUDIO_FORMAT_AAC_SUB_LTP = 8u, // 0x8
-    AUDIO_FORMAT_AAC_SUB_HE_V1 = 16u, // 0x10
-    AUDIO_FORMAT_AAC_SUB_SCALABLE = 32u, // 0x20
-    AUDIO_FORMAT_AAC_SUB_ERLC = 64u, // 0x40
-    AUDIO_FORMAT_AAC_SUB_LD = 128u, // 0x80
-    AUDIO_FORMAT_AAC_SUB_HE_V2 = 256u, // 0x100
-    AUDIO_FORMAT_AAC_SUB_ELD = 512u, // 0x200
-    AUDIO_FORMAT_VORBIS_SUB_NONE = 0u, // 0x0
+    AUDIO_FORMAT_INVALID = 4294967295u,
+    AUDIO_FORMAT_DEFAULT = 0u,
+    AUDIO_FORMAT_PCM = 0u,
+    AUDIO_FORMAT_MP3 = 16777216u,
+    AUDIO_FORMAT_AMR_NB = 33554432u,
+    AUDIO_FORMAT_AMR_WB = 50331648u,
+    AUDIO_FORMAT_AAC = 67108864u,
+    AUDIO_FORMAT_HE_AAC_V1 = 83886080u,
+    AUDIO_FORMAT_HE_AAC_V2 = 100663296u,
+    AUDIO_FORMAT_VORBIS = 117440512u,
+    AUDIO_FORMAT_OPUS = 134217728u,
+    AUDIO_FORMAT_AC3 = 150994944u,
+    AUDIO_FORMAT_E_AC3 = 167772160u,
+    AUDIO_FORMAT_DTS = 184549376u,
+    AUDIO_FORMAT_DTS_HD = 201326592u,
+    AUDIO_FORMAT_IEC61937 = 218103808u,
+    AUDIO_FORMAT_DOLBY_TRUEHD = 234881024u,
+    AUDIO_FORMAT_EVRC = 268435456u,
+    AUDIO_FORMAT_EVRCB = 285212672u,
+    AUDIO_FORMAT_EVRCWB = 301989888u,
+    AUDIO_FORMAT_EVRCNW = 318767104u,
+    AUDIO_FORMAT_AAC_ADIF = 335544320u,
+    AUDIO_FORMAT_WMA = 352321536u,
+    AUDIO_FORMAT_WMA_PRO = 369098752u,
+    AUDIO_FORMAT_AMR_WB_PLUS = 385875968u,
+    AUDIO_FORMAT_MP2 = 402653184u,
+    AUDIO_FORMAT_QCELP = 419430400u,
+    AUDIO_FORMAT_DSD = 436207616u,
+    AUDIO_FORMAT_FLAC = 452984832u,
+    AUDIO_FORMAT_ALAC = 469762048u,
+    AUDIO_FORMAT_APE = 486539264u,
+    AUDIO_FORMAT_AAC_ADTS = 503316480u,
+    AUDIO_FORMAT_SBC = 520093696u,
+    AUDIO_FORMAT_APTX = 536870912u,
+    AUDIO_FORMAT_APTX_HD = 553648128u,
+    AUDIO_FORMAT_AC4 = 570425344u,
+    AUDIO_FORMAT_LDAC = 587202560u,
+    AUDIO_FORMAT_MAT = 603979776u,
+    AUDIO_FORMAT_MAIN_MASK = 4278190080u,
+    AUDIO_FORMAT_SUB_MASK = 16777215u,
+    AUDIO_FORMAT_PCM_SUB_16_BIT = 1u,
+    AUDIO_FORMAT_PCM_SUB_8_BIT = 2u,
+    AUDIO_FORMAT_PCM_SUB_32_BIT = 3u,
+    AUDIO_FORMAT_PCM_SUB_8_24_BIT = 4u,
+    AUDIO_FORMAT_PCM_SUB_FLOAT = 5u,
+    AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 6u,
+    AUDIO_FORMAT_MP3_SUB_NONE = 0u,
+    AUDIO_FORMAT_AMR_SUB_NONE = 0u,
+    AUDIO_FORMAT_AAC_SUB_MAIN = 1u,
+    AUDIO_FORMAT_AAC_SUB_LC = 2u,
+    AUDIO_FORMAT_AAC_SUB_SSR = 4u,
+    AUDIO_FORMAT_AAC_SUB_LTP = 8u,
+    AUDIO_FORMAT_AAC_SUB_HE_V1 = 16u,
+    AUDIO_FORMAT_AAC_SUB_SCALABLE = 32u,
+    AUDIO_FORMAT_AAC_SUB_ERLC = 64u,
+    AUDIO_FORMAT_AAC_SUB_LD = 128u,
+    AUDIO_FORMAT_AAC_SUB_HE_V2 = 256u,
+    AUDIO_FORMAT_AAC_SUB_ELD = 512u,
+    AUDIO_FORMAT_AAC_SUB_XHE = 768u,
+    AUDIO_FORMAT_VORBIS_SUB_NONE = 0u,
+    AUDIO_FORMAT_E_AC3_SUB_JOC = 1u,
+    AUDIO_FORMAT_MAT_SUB_1_0 = 1u,
+    AUDIO_FORMAT_MAT_SUB_2_0 = 2u,
+    AUDIO_FORMAT_MAT_SUB_2_1 = 3u,
     AUDIO_FORMAT_PCM_16_BIT = 1u, // (PCM | PCM_SUB_16_BIT)
     AUDIO_FORMAT_PCM_8_BIT = 2u, // (PCM | PCM_SUB_8_BIT)
     AUDIO_FORMAT_PCM_32_BIT = 3u, // (PCM | PCM_SUB_32_BIT)
@@ -136,6 +149,7 @@
     AUDIO_FORMAT_AAC_LD = 67108992u, // (AAC | AAC_SUB_LD)
     AUDIO_FORMAT_AAC_HE_V2 = 67109120u, // (AAC | AAC_SUB_HE_V2)
     AUDIO_FORMAT_AAC_ELD = 67109376u, // (AAC | AAC_SUB_ELD)
+    AUDIO_FORMAT_AAC_XHE = 67109632u, // (AAC | AAC_SUB_XHE)
     AUDIO_FORMAT_AAC_ADTS_MAIN = 503316481u, // (AAC_ADTS | AAC_SUB_MAIN)
     AUDIO_FORMAT_AAC_ADTS_LC = 503316482u, // (AAC_ADTS | AAC_SUB_LC)
     AUDIO_FORMAT_AAC_ADTS_SSR = 503316484u, // (AAC_ADTS | AAC_SUB_SSR)
@@ -146,6 +160,11 @@
     AUDIO_FORMAT_AAC_ADTS_LD = 503316608u, // (AAC_ADTS | AAC_SUB_LD)
     AUDIO_FORMAT_AAC_ADTS_HE_V2 = 503316736u, // (AAC_ADTS | AAC_SUB_HE_V2)
     AUDIO_FORMAT_AAC_ADTS_ELD = 503316992u, // (AAC_ADTS | AAC_SUB_ELD)
+    AUDIO_FORMAT_AAC_ADTS_XHE = 503317248u, // (AAC_ADTS | AAC_SUB_XHE)
+    AUDIO_FORMAT_E_AC3_JOC = 167772161u, // (E_AC3 | E_AC3_SUB_JOC)
+    AUDIO_FORMAT_MAT_1_0 = 603979777u, // (MAT | MAT_SUB_1_0)
+    AUDIO_FORMAT_MAT_2_0 = 603979778u, // (MAT | MAT_SUB_2_0)
+    AUDIO_FORMAT_MAT_2_1 = 603979779u, // (MAT | MAT_SUB_2_1)
 } audio_format_t;
 
 enum {
@@ -154,31 +173,37 @@
 };
 
 enum {
-    AUDIO_CHANNEL_REPRESENTATION_POSITION = 0u, // 0
-    AUDIO_CHANNEL_REPRESENTATION_INDEX = 2u, // 2
-    AUDIO_CHANNEL_NONE = 0u, // 0x0
-    AUDIO_CHANNEL_INVALID = 3221225472u, // 0xC0000000
-    AUDIO_CHANNEL_OUT_FRONT_LEFT = 1u, // 0x1
-    AUDIO_CHANNEL_OUT_FRONT_RIGHT = 2u, // 0x2
-    AUDIO_CHANNEL_OUT_FRONT_CENTER = 4u, // 0x4
-    AUDIO_CHANNEL_OUT_LOW_FREQUENCY = 8u, // 0x8
-    AUDIO_CHANNEL_OUT_BACK_LEFT = 16u, // 0x10
-    AUDIO_CHANNEL_OUT_BACK_RIGHT = 32u, // 0x20
-    AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 64u, // 0x40
-    AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 128u, // 0x80
-    AUDIO_CHANNEL_OUT_BACK_CENTER = 256u, // 0x100
-    AUDIO_CHANNEL_OUT_SIDE_LEFT = 512u, // 0x200
-    AUDIO_CHANNEL_OUT_SIDE_RIGHT = 1024u, // 0x400
-    AUDIO_CHANNEL_OUT_TOP_CENTER = 2048u, // 0x800
-    AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT = 4096u, // 0x1000
-    AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER = 8192u, // 0x2000
-    AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT = 16384u, // 0x4000
-    AUDIO_CHANNEL_OUT_TOP_BACK_LEFT = 32768u, // 0x8000
-    AUDIO_CHANNEL_OUT_TOP_BACK_CENTER = 65536u, // 0x10000
-    AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT = 131072u, // 0x20000
+    AUDIO_CHANNEL_REPRESENTATION_POSITION = 0u,
+    AUDIO_CHANNEL_REPRESENTATION_INDEX = 2u,
+    AUDIO_CHANNEL_NONE = 0u,
+    AUDIO_CHANNEL_INVALID = 3221225472u,
+    AUDIO_CHANNEL_OUT_FRONT_LEFT = 1u,
+    AUDIO_CHANNEL_OUT_FRONT_RIGHT = 2u,
+    AUDIO_CHANNEL_OUT_FRONT_CENTER = 4u,
+    AUDIO_CHANNEL_OUT_LOW_FREQUENCY = 8u,
+    AUDIO_CHANNEL_OUT_BACK_LEFT = 16u,
+    AUDIO_CHANNEL_OUT_BACK_RIGHT = 32u,
+    AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 64u,
+    AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 128u,
+    AUDIO_CHANNEL_OUT_BACK_CENTER = 256u,
+    AUDIO_CHANNEL_OUT_SIDE_LEFT = 512u,
+    AUDIO_CHANNEL_OUT_SIDE_RIGHT = 1024u,
+    AUDIO_CHANNEL_OUT_TOP_CENTER = 2048u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT = 4096u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER = 8192u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT = 16384u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_LEFT = 32768u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_CENTER = 65536u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT = 131072u,
+    AUDIO_CHANNEL_OUT_TOP_CENTER_LEFT = 262144u,
+    AUDIO_CHANNEL_OUT_TOP_CENTER_RIGHT = 524288u,
     AUDIO_CHANNEL_OUT_MONO = 1u, // OUT_FRONT_LEFT
     AUDIO_CHANNEL_OUT_STEREO = 3u, // (OUT_FRONT_LEFT | OUT_FRONT_RIGHT)
     AUDIO_CHANNEL_OUT_2POINT1 = 11u, // ((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_LOW_FREQUENCY)
+    AUDIO_CHANNEL_OUT_2POINT0POINT2 = 786435u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_TOP_CENTER_LEFT) | OUT_TOP_CENTER_RIGHT)
+    AUDIO_CHANNEL_OUT_2POINT1POINT2 = 786443u, // ((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_TOP_CENTER_LEFT) | OUT_TOP_CENTER_RIGHT) | OUT_LOW_FREQUENCY)
+    AUDIO_CHANNEL_OUT_3POINT0POINT2 = 786439u, // ((((OUT_FRONT_LEFT | OUT_FRONT_CENTER) | OUT_FRONT_RIGHT) | OUT_TOP_CENTER_LEFT) | OUT_TOP_CENTER_RIGHT)
+    AUDIO_CHANNEL_OUT_3POINT1POINT2 = 786447u, // (((((OUT_FRONT_LEFT | OUT_FRONT_CENTER) | OUT_FRONT_RIGHT) | OUT_TOP_CENTER_LEFT) | OUT_TOP_CENTER_RIGHT) | OUT_LOW_FREQUENCY)
     AUDIO_CHANNEL_OUT_QUAD = 51u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_BACK_LEFT) | OUT_BACK_RIGHT)
     AUDIO_CHANNEL_OUT_QUAD_BACK = 51u, // OUT_QUAD
     AUDIO_CHANNEL_OUT_QUAD_SIDE = 1539u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
@@ -189,30 +214,35 @@
     AUDIO_CHANNEL_OUT_5POINT1_SIDE = 1551u, // (((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
     AUDIO_CHANNEL_OUT_6POINT1 = 319u, // ((((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT) | OUT_BACK_CENTER)
     AUDIO_CHANNEL_OUT_7POINT1 = 1599u, // (((((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_ALL = 262143u, // (((((((((((((((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT) | OUT_FRONT_LEFT_OF_CENTER) | OUT_FRONT_RIGHT_OF_CENTER) | OUT_BACK_CENTER) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT) | OUT_TOP_CENTER) | OUT_TOP_FRONT_LEFT) | OUT_TOP_FRONT_CENTER) | OUT_TOP_FRONT_RIGHT) | OUT_TOP_BACK_LEFT) | OUT_TOP_BACK_CENTER) | OUT_TOP_BACK_RIGHT)
-    AUDIO_CHANNEL_IN_LEFT = 4u, // 0x4
-    AUDIO_CHANNEL_IN_RIGHT = 8u, // 0x8
-    AUDIO_CHANNEL_IN_FRONT = 16u, // 0x10
-    AUDIO_CHANNEL_IN_BACK = 32u, // 0x20
-    AUDIO_CHANNEL_IN_LEFT_PROCESSED = 64u, // 0x40
-    AUDIO_CHANNEL_IN_RIGHT_PROCESSED = 128u, // 0x80
-    AUDIO_CHANNEL_IN_FRONT_PROCESSED = 256u, // 0x100
-    AUDIO_CHANNEL_IN_BACK_PROCESSED = 512u, // 0x200
-    AUDIO_CHANNEL_IN_PRESSURE = 1024u, // 0x400
-    AUDIO_CHANNEL_IN_X_AXIS = 2048u, // 0x800
-    AUDIO_CHANNEL_IN_Y_AXIS = 4096u, // 0x1000
-    AUDIO_CHANNEL_IN_Z_AXIS = 8192u, // 0x2000
-    AUDIO_CHANNEL_IN_VOICE_UPLINK = 16384u, // 0x4000
-    AUDIO_CHANNEL_IN_VOICE_DNLINK = 32768u, // 0x8000
+    AUDIO_CHANNEL_IN_LEFT = 4u,
+    AUDIO_CHANNEL_IN_RIGHT = 8u,
+    AUDIO_CHANNEL_IN_FRONT = 16u,
+    AUDIO_CHANNEL_IN_BACK = 32u,
+    AUDIO_CHANNEL_IN_LEFT_PROCESSED = 64u,
+    AUDIO_CHANNEL_IN_RIGHT_PROCESSED = 128u,
+    AUDIO_CHANNEL_IN_FRONT_PROCESSED = 256u,
+    AUDIO_CHANNEL_IN_BACK_PROCESSED = 512u,
+    AUDIO_CHANNEL_IN_PRESSURE = 1024u,
+    AUDIO_CHANNEL_IN_X_AXIS = 2048u,
+    AUDIO_CHANNEL_IN_Y_AXIS = 4096u,
+    AUDIO_CHANNEL_IN_Z_AXIS = 8192u,
+    AUDIO_CHANNEL_IN_BACK_LEFT = 65536u,
+    AUDIO_CHANNEL_IN_BACK_RIGHT = 131072u,
+    AUDIO_CHANNEL_IN_CENTER = 262144u,
+    AUDIO_CHANNEL_IN_LOW_FREQUENCY = 1048576u,
+    AUDIO_CHANNEL_IN_TOP_LEFT = 2097152u,
+    AUDIO_CHANNEL_IN_TOP_RIGHT = 4194304u,
+    AUDIO_CHANNEL_IN_VOICE_UPLINK = 16384u,
+    AUDIO_CHANNEL_IN_VOICE_DNLINK = 32768u,
     AUDIO_CHANNEL_IN_MONO = 16u, // IN_FRONT
     AUDIO_CHANNEL_IN_STEREO = 12u, // (IN_LEFT | IN_RIGHT)
     AUDIO_CHANNEL_IN_FRONT_BACK = 48u, // (IN_FRONT | IN_BACK)
     AUDIO_CHANNEL_IN_6 = 252u, // (((((IN_LEFT | IN_RIGHT) | IN_FRONT) | IN_BACK) | IN_LEFT_PROCESSED) | IN_RIGHT_PROCESSED)
+    AUDIO_CHANNEL_IN_5POINT1 = 1507340u, // (((((IN_LEFT | IN_CENTER) | IN_RIGHT) | IN_BACK_LEFT) | IN_BACK_RIGHT) | IN_LOW_FREQUENCY)
     AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO = 16400u, // (IN_VOICE_UPLINK | IN_MONO)
     AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO = 32784u, // (IN_VOICE_DNLINK | IN_MONO)
     AUDIO_CHANNEL_IN_VOICE_CALL_MONO = 49168u, // (IN_VOICE_UPLINK_MONO | IN_VOICE_DNLINK_MONO)
-    AUDIO_CHANNEL_IN_ALL = 65532u, // (((((((((((((IN_LEFT | IN_RIGHT) | IN_FRONT) | IN_BACK) | IN_LEFT_PROCESSED) | IN_RIGHT_PROCESSED) | IN_FRONT_PROCESSED) | IN_BACK_PROCESSED) | IN_PRESSURE) | IN_X_AXIS) | IN_Y_AXIS) | IN_Z_AXIS) | IN_VOICE_UPLINK) | IN_VOICE_DNLINK)
-    AUDIO_CHANNEL_COUNT_MAX = 30u, // 30
+    AUDIO_CHANNEL_COUNT_MAX = 30u,
     AUDIO_CHANNEL_INDEX_HDR = 2147483648u, // (REPRESENTATION_INDEX << COUNT_MAX)
     AUDIO_CHANNEL_INDEX_MASK_1 = 2147483649u, // (INDEX_HDR | ((1 << 1) - 1))
     AUDIO_CHANNEL_INDEX_MASK_2 = 2147483651u, // (INDEX_HDR | ((1 << 2) - 1))
@@ -224,59 +254,52 @@
     AUDIO_CHANNEL_INDEX_MASK_8 = 2147483903u, // (INDEX_HDR | ((1 << 8) - 1))
 };
 
-enum {
-    AUDIO_INTERLEAVE_LEFT = 0,
-    AUDIO_INTERLEAVE_RIGHT = 1,
-};
-
 typedef enum {
+#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
     AUDIO_MODE_INVALID = -2, // (-2)
     AUDIO_MODE_CURRENT = -1, // (-1)
+#endif // AUDIO_NO_SYSTEM_DECLARATIONS
     AUDIO_MODE_NORMAL = 0,
     AUDIO_MODE_RINGTONE = 1,
     AUDIO_MODE_IN_CALL = 2,
     AUDIO_MODE_IN_COMMUNICATION = 3,
-    AUDIO_MODE_CNT = 4,
-    AUDIO_MODE_MAX = 3, // (CNT - 1)
 } audio_mode_t;
 
 enum {
-    AUDIO_DEVICE_NONE = 0u, // 0x0
-    AUDIO_DEVICE_BIT_IN = 2147483648u, // 0x80000000
-    AUDIO_DEVICE_BIT_DEFAULT = 1073741824u, // 0x40000000
-    AUDIO_DEVICE_OUT_EARPIECE = 1u, // 0x1
-    AUDIO_DEVICE_OUT_SPEAKER = 2u, // 0x2
-    AUDIO_DEVICE_OUT_WIRED_HEADSET = 4u, // 0x4
-    AUDIO_DEVICE_OUT_WIRED_HEADPHONE = 8u, // 0x8
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO = 16u, // 0x10
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET = 32u, // 0x20
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT = 64u, // 0x40
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP = 128u, // 0x80
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 256u, // 0x100
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 512u, // 0x200
-    AUDIO_DEVICE_OUT_AUX_DIGITAL = 1024u, // 0x400
+    AUDIO_DEVICE_NONE = 0u,
+    AUDIO_DEVICE_BIT_IN = 2147483648u,
+    AUDIO_DEVICE_BIT_DEFAULT = 1073741824u,
+    AUDIO_DEVICE_OUT_EARPIECE = 1u,
+    AUDIO_DEVICE_OUT_SPEAKER = 2u,
+    AUDIO_DEVICE_OUT_WIRED_HEADSET = 4u,
+    AUDIO_DEVICE_OUT_WIRED_HEADPHONE = 8u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO = 16u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET = 32u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT = 64u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP = 128u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 256u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 512u,
+    AUDIO_DEVICE_OUT_AUX_DIGITAL = 1024u,
     AUDIO_DEVICE_OUT_HDMI = 1024u, // OUT_AUX_DIGITAL
-    AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET = 2048u, // 0x800
-    AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET = 4096u, // 0x1000
-    AUDIO_DEVICE_OUT_USB_ACCESSORY = 8192u, // 0x2000
-    AUDIO_DEVICE_OUT_USB_DEVICE = 16384u, // 0x4000
-    AUDIO_DEVICE_OUT_REMOTE_SUBMIX = 32768u, // 0x8000
-    AUDIO_DEVICE_OUT_TELEPHONY_TX = 65536u, // 0x10000
-    AUDIO_DEVICE_OUT_LINE = 131072u, // 0x20000
-    AUDIO_DEVICE_OUT_HDMI_ARC = 262144u, // 0x40000
-    AUDIO_DEVICE_OUT_SPDIF = 524288u, // 0x80000
-    AUDIO_DEVICE_OUT_FM = 1048576u, // 0x100000
-    AUDIO_DEVICE_OUT_AUX_LINE = 2097152u, // 0x200000
-    AUDIO_DEVICE_OUT_SPEAKER_SAFE = 4194304u, // 0x400000
-    AUDIO_DEVICE_OUT_IP = 8388608u, // 0x800000
-    AUDIO_DEVICE_OUT_BUS = 16777216u, // 0x1000000
-    AUDIO_DEVICE_OUT_PROXY = 33554432u, // 0x2000000
-    AUDIO_DEVICE_OUT_USB_HEADSET = 67108864u, // 0x4000000
+    AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET = 2048u,
+    AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET = 4096u,
+    AUDIO_DEVICE_OUT_USB_ACCESSORY = 8192u,
+    AUDIO_DEVICE_OUT_USB_DEVICE = 16384u,
+    AUDIO_DEVICE_OUT_REMOTE_SUBMIX = 32768u,
+    AUDIO_DEVICE_OUT_TELEPHONY_TX = 65536u,
+    AUDIO_DEVICE_OUT_LINE = 131072u,
+    AUDIO_DEVICE_OUT_HDMI_ARC = 262144u,
+    AUDIO_DEVICE_OUT_SPDIF = 524288u,
+    AUDIO_DEVICE_OUT_FM = 1048576u,
+    AUDIO_DEVICE_OUT_AUX_LINE = 2097152u,
+    AUDIO_DEVICE_OUT_SPEAKER_SAFE = 4194304u,
+    AUDIO_DEVICE_OUT_IP = 8388608u,
+    AUDIO_DEVICE_OUT_BUS = 16777216u,
+    AUDIO_DEVICE_OUT_PROXY = 33554432u,
+    AUDIO_DEVICE_OUT_USB_HEADSET = 67108864u,
+    AUDIO_DEVICE_OUT_HEARING_AID = 134217728u,
+    AUDIO_DEVICE_OUT_ECHO_CANCELLER = 268435456u,
     AUDIO_DEVICE_OUT_DEFAULT = 1073741824u, // BIT_DEFAULT
-    AUDIO_DEVICE_OUT_ALL = 1207959551u, // (((((((((((((((((((((((((((OUT_EARPIECE | OUT_SPEAKER) | OUT_WIRED_HEADSET) | OUT_WIRED_HEADPHONE) | OUT_BLUETOOTH_SCO) | OUT_BLUETOOTH_SCO_HEADSET) | OUT_BLUETOOTH_SCO_CARKIT) | OUT_BLUETOOTH_A2DP) | OUT_BLUETOOTH_A2DP_HEADPHONES) | OUT_BLUETOOTH_A2DP_SPEAKER) | OUT_HDMI) | OUT_ANLG_DOCK_HEADSET) | OUT_DGTL_DOCK_HEADSET) | OUT_USB_ACCESSORY) | OUT_USB_DEVICE) | OUT_REMOTE_SUBMIX) | OUT_TELEPHONY_TX) | OUT_LINE) | OUT_HDMI_ARC) | OUT_SPDIF) | OUT_FM) | OUT_AUX_LINE) | OUT_SPEAKER_SAFE) | OUT_IP) | OUT_BUS) | OUT_PROXY) | OUT_USB_HEADSET) | OUT_DEFAULT)
-    AUDIO_DEVICE_OUT_ALL_A2DP = 896u, // ((OUT_BLUETOOTH_A2DP | OUT_BLUETOOTH_A2DP_HEADPHONES) | OUT_BLUETOOTH_A2DP_SPEAKER)
-    AUDIO_DEVICE_OUT_ALL_SCO = 112u, // ((OUT_BLUETOOTH_SCO | OUT_BLUETOOTH_SCO_HEADSET) | OUT_BLUETOOTH_SCO_CARKIT)
-    AUDIO_DEVICE_OUT_ALL_USB = 67133440u, // ((OUT_USB_ACCESSORY | OUT_USB_DEVICE) | OUT_USB_HEADSET)
     AUDIO_DEVICE_IN_COMMUNICATION = 2147483649u, // (BIT_IN | 0x1)
     AUDIO_DEVICE_IN_AMBIENT = 2147483650u, // (BIT_IN | 0x2)
     AUDIO_DEVICE_IN_BUILTIN_MIC = 2147483652u, // (BIT_IN | 0x4)
@@ -302,38 +325,38 @@
     AUDIO_DEVICE_IN_BUS = 2148532224u, // (BIT_IN | 0x100000)
     AUDIO_DEVICE_IN_PROXY = 2164260864u, // (BIT_IN | 0x1000000)
     AUDIO_DEVICE_IN_USB_HEADSET = 2181038080u, // (BIT_IN | 0x2000000)
+    AUDIO_DEVICE_IN_BLUETOOTH_BLE = 2214592512u, // (BIT_IN | 0x4000000)
     AUDIO_DEVICE_IN_DEFAULT = 3221225472u, // (BIT_IN | BIT_DEFAULT)
-    AUDIO_DEVICE_IN_ALL = 3273654271u, // (((((((((((((((((((((((IN_COMMUNICATION | IN_AMBIENT) | IN_BUILTIN_MIC) | IN_BLUETOOTH_SCO_HEADSET) | IN_WIRED_HEADSET) | IN_HDMI) | IN_TELEPHONY_RX) | IN_BACK_MIC) | IN_REMOTE_SUBMIX) | IN_ANLG_DOCK_HEADSET) | IN_DGTL_DOCK_HEADSET) | IN_USB_ACCESSORY) | IN_USB_DEVICE) | IN_FM_TUNER) | IN_TV_TUNER) | IN_LINE) | IN_SPDIF) | IN_BLUETOOTH_A2DP) | IN_LOOPBACK) | IN_IP) | IN_BUS) | IN_PROXY) | IN_USB_HEADSET) | IN_DEFAULT)
-    AUDIO_DEVICE_IN_ALL_SCO = 2147483656u, // IN_BLUETOOTH_SCO_HEADSET
-    AUDIO_DEVICE_IN_ALL_USB = 2181044224u, // ((IN_USB_ACCESSORY | IN_USB_DEVICE) | IN_USB_HEADSET)
 };
 
 typedef enum {
-    AUDIO_OUTPUT_FLAG_NONE = 0, // 0x0
-    AUDIO_OUTPUT_FLAG_DIRECT = 1, // 0x1
-    AUDIO_OUTPUT_FLAG_PRIMARY = 2, // 0x2
-    AUDIO_OUTPUT_FLAG_FAST = 4, // 0x4
-    AUDIO_OUTPUT_FLAG_DEEP_BUFFER = 8, // 0x8
-    AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 16, // 0x10
-    AUDIO_OUTPUT_FLAG_NON_BLOCKING = 32, // 0x20
-    AUDIO_OUTPUT_FLAG_HW_AV_SYNC = 64, // 0x40
-    AUDIO_OUTPUT_FLAG_TTS = 128, // 0x80
-    AUDIO_OUTPUT_FLAG_RAW = 256, // 0x100
-    AUDIO_OUTPUT_FLAG_SYNC = 512, // 0x200
-    AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO = 1024, // 0x400
-    AUDIO_OUTPUT_FLAG_DIRECT_PCM = 8192, // 0x2000
-    AUDIO_OUTPUT_FLAG_MMAP_NOIRQ = 16384, // 0x4000
-    AUDIO_OUTPUT_FLAG_VOIP_RX = 32768, // 0x8000
+    AUDIO_OUTPUT_FLAG_NONE = 0,
+    AUDIO_OUTPUT_FLAG_DIRECT = 1,
+    AUDIO_OUTPUT_FLAG_PRIMARY = 2,
+    AUDIO_OUTPUT_FLAG_FAST = 4,
+    AUDIO_OUTPUT_FLAG_DEEP_BUFFER = 8,
+    AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 16,
+    AUDIO_OUTPUT_FLAG_NON_BLOCKING = 32,
+    AUDIO_OUTPUT_FLAG_HW_AV_SYNC = 64,
+    AUDIO_OUTPUT_FLAG_TTS = 128,
+    AUDIO_OUTPUT_FLAG_RAW = 256,
+    AUDIO_OUTPUT_FLAG_SYNC = 512,
+    AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO = 1024,
+    AUDIO_OUTPUT_FLAG_DIRECT_PCM = 8192,
+    AUDIO_OUTPUT_FLAG_MMAP_NOIRQ = 16384,
+    AUDIO_OUTPUT_FLAG_VOIP_RX = 32768,
+    AUDIO_OUTPUT_FLAG_INCALL_MUSIC = 65536,
 } audio_output_flags_t;
 
 typedef enum {
-    AUDIO_INPUT_FLAG_NONE = 0, // 0x0
-    AUDIO_INPUT_FLAG_FAST = 1, // 0x1
-    AUDIO_INPUT_FLAG_HW_HOTWORD = 2, // 0x2
-    AUDIO_INPUT_FLAG_RAW = 4, // 0x4
-    AUDIO_INPUT_FLAG_SYNC = 8, // 0x8
-    AUDIO_INPUT_FLAG_MMAP_NOIRQ = 16, // 0x10
-    AUDIO_INPUT_FLAG_VOIP_TX = 32, // 0x20
+    AUDIO_INPUT_FLAG_NONE = 0,
+    AUDIO_INPUT_FLAG_FAST = 1,
+    AUDIO_INPUT_FLAG_HW_HOTWORD = 2,
+    AUDIO_INPUT_FLAG_RAW = 4,
+    AUDIO_INPUT_FLAG_SYNC = 8,
+    AUDIO_INPUT_FLAG_MMAP_NOIRQ = 16,
+    AUDIO_INPUT_FLAG_VOIP_TX = 32,
+    AUDIO_INPUT_FLAG_HW_AV_SYNC = 64,
 } audio_input_flags_t;
 
 typedef enum {
@@ -344,54 +367,61 @@
     AUDIO_USAGE_ALARM = 4,
     AUDIO_USAGE_NOTIFICATION = 5,
     AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE = 6,
+#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7,
     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8,
     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9,
     AUDIO_USAGE_NOTIFICATION_EVENT = 10,
+#endif // AUDIO_NO_SYSTEM_DECLARATIONS
     AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY = 11,
     AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12,
     AUDIO_USAGE_ASSISTANCE_SONIFICATION = 13,
     AUDIO_USAGE_GAME = 14,
     AUDIO_USAGE_VIRTUAL_SOURCE = 15,
     AUDIO_USAGE_ASSISTANT = 16,
-    AUDIO_USAGE_CNT = 17,
-    AUDIO_USAGE_MAX = 16, // (CNT - 1)
 } audio_usage_t;
 
+typedef enum {
+    AUDIO_CONTENT_TYPE_UNKNOWN = 0u,
+    AUDIO_CONTENT_TYPE_SPEECH = 1u,
+    AUDIO_CONTENT_TYPE_MUSIC = 2u,
+    AUDIO_CONTENT_TYPE_MOVIE = 3u,
+    AUDIO_CONTENT_TYPE_SONIFICATION = 4u,
+} audio_content_type_t;
+
 enum {
-    AUDIO_GAIN_MODE_JOINT = 1u, // 0x1
-    AUDIO_GAIN_MODE_CHANNELS = 2u, // 0x2
-    AUDIO_GAIN_MODE_RAMP = 4u, // 0x4
+    AUDIO_GAIN_MODE_JOINT = 1u,
+    AUDIO_GAIN_MODE_CHANNELS = 2u,
+    AUDIO_GAIN_MODE_RAMP = 4u,
 };
 
 typedef enum {
     AUDIO_PORT_ROLE_NONE = 0,
-    AUDIO_PORT_ROLE_SOURCE = 1,
-    AUDIO_PORT_ROLE_SINK = 2,
+    AUDIO_PORT_ROLE_SOURCE = 1, // (::android::hardware::audio::common::V4_0::AudioPortRole.NONE implicitly + 1)
+    AUDIO_PORT_ROLE_SINK = 2, // (::android::hardware::audio::common::V4_0::AudioPortRole.SOURCE implicitly + 1)
 } audio_port_role_t;
 
 typedef enum {
     AUDIO_PORT_TYPE_NONE = 0,
-    AUDIO_PORT_TYPE_DEVICE = 1,
-    AUDIO_PORT_TYPE_MIX = 2,
-    AUDIO_PORT_TYPE_SESSION = 3,
+    AUDIO_PORT_TYPE_DEVICE = 1, // (::android::hardware::audio::common::V4_0::AudioPortType.NONE implicitly + 1)
+    AUDIO_PORT_TYPE_MIX = 2, // (::android::hardware::audio::common::V4_0::AudioPortType.DEVICE implicitly + 1)
+    AUDIO_PORT_TYPE_SESSION = 3, // (::android::hardware::audio::common::V4_0::AudioPortType.MIX implicitly + 1)
 } audio_port_type_t;
 
 enum {
-    AUDIO_PORT_CONFIG_SAMPLE_RATE = 1u, // 0x1
-    AUDIO_PORT_CONFIG_CHANNEL_MASK = 2u, // 0x2
-    AUDIO_PORT_CONFIG_FORMAT = 4u, // 0x4
-    AUDIO_PORT_CONFIG_GAIN = 8u, // 0x8
-    AUDIO_PORT_CONFIG_ALL = 15u, // (((SAMPLE_RATE | CHANNEL_MASK) | FORMAT) | GAIN)
+    AUDIO_PORT_CONFIG_SAMPLE_RATE = 1u,
+    AUDIO_PORT_CONFIG_CHANNEL_MASK = 2u,
+    AUDIO_PORT_CONFIG_FORMAT = 4u,
+    AUDIO_PORT_CONFIG_GAIN = 8u,
 };
 
 typedef enum {
     AUDIO_LATENCY_LOW = 0,
-    AUDIO_LATENCY_NORMAL = 1,
+    AUDIO_LATENCY_NORMAL = 1, // (::android::hardware::audio::common::V4_0::AudioMixLatencyClass.LOW implicitly + 1)
 } audio_mix_latency_class_t;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif  // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V2_0_EXPORTED_CONSTANTS_H_
+#endif  // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
diff --git a/audio/include/system/audio.h b/audio/include/system/audio.h
index 5b8b811..67d35ef 100644
--- a/audio/include/system/audio.h
+++ b/audio/include/system/audio.h
@@ -27,6 +27,7 @@
 #include <cutils/bitops.h>
 
 #include "audio-base.h"
+#include "audio-base-utils.h"
 
 __BEGIN_DECLS
 
@@ -43,20 +44,6 @@
 /* AudioFlinger and AudioPolicy services use I/O handles to identify audio sources and sinks */
 typedef int audio_io_handle_t;
 
-/* Do not change these values without updating their counterparts
- * in frameworks/base/media/java/android/media/AudioAttributes.java
- */
-typedef enum {
-    AUDIO_CONTENT_TYPE_UNKNOWN      = 0,
-    AUDIO_CONTENT_TYPE_SPEECH       = 1,
-    AUDIO_CONTENT_TYPE_MUSIC        = 2,
-    AUDIO_CONTENT_TYPE_MOVIE        = 3,
-    AUDIO_CONTENT_TYPE_SONIFICATION = 4,
-
-    AUDIO_CONTENT_TYPE_CNT,
-    AUDIO_CONTENT_TYPE_MAX          = AUDIO_CONTENT_TYPE_CNT - 1,
-} audio_content_type_t;
-
 typedef uint32_t audio_flags_mask_t;
 
 /* Do not change these values without updating their counterparts
@@ -198,6 +185,21 @@
     return (audio_channel_mask_t) ((representation << AUDIO_CHANNEL_COUNT_MAX) | bits);
 }
 
+/**
+ * Expresses the convention when stereo audio samples are stored interleaved
+ * in an array.  This should improve readability by allowing code to use
+ * symbolic indices instead of hard-coded [0] and [1].
+ *
+ * For multi-channel beyond stereo, the platform convention is that channels
+ * are interleaved in order from least significant channel mask bit to most
+ * significant channel mask bit, with unused bits skipped.  Any exceptions
+ * to this convention will be noted at the appropriate API.
+ */
+enum {
+    AUDIO_INTERLEAVE_LEFT = 0,
+    AUDIO_INTERLEAVE_RIGHT = 1,
+};
+
 /* This enum is deprecated */
 typedef enum {
     AUDIO_IN_ACOUSTICS_NONE          = 0,
@@ -531,6 +533,10 @@
                                     is called */
 };
 
+/******************************
+ *  Helper functions
+ *****************************/
+
 static inline bool audio_is_output_device(audio_devices_t device)
 {
     if (((device & AUDIO_DEVICE_BIT_IN) == 0) &&
@@ -1159,4 +1165,5 @@
 // declared in types.hal for audio HAL V4.0 and auto imported to audio-base.h
 #define AUDIO_OUTPUT_FLAG_INCALL_MUSIC 0x10000
 
+
 #endif  // ANDROID_AUDIO_CORE_H
diff --git a/audio/include/system/audio_effect-base.h b/audio/include/system/audio_effect-base.h
index 572b788..7a6a593 100644
--- a/audio/include/system/audio_effect-base.h
+++ b/audio/include/system/audio_effect-base.h
@@ -1,9 +1,9 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
-// Source: android.hardware.audio.effect@2.0
+// Source: android.hardware.audio.effect@4.0
 // Root: android.hardware:hardware/interfaces
 
-#ifndef HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V2_0_EXPORTED_CONSTANTS_H_
-#define HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V2_0_EXPORTED_CONSTANTS_H_
+#ifndef HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V4_0_EXPORTED_CONSTANTS_H_
+#define HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V4_0_EXPORTED_CONSTANTS_H_
 
 #ifdef __cplusplus
 extern "C" {
@@ -75,26 +75,25 @@
 
 typedef enum {
     EFFECT_BUFFER_ACCESS_WRITE = 0,
-    EFFECT_BUFFER_ACCESS_READ = 1,
-    EFFECT_BUFFER_ACCESS_ACCUMULATE = 2,
+    EFFECT_BUFFER_ACCESS_READ = 1, // (::android::hardware::audio::effect::V4_0::EffectBufferAccess.ACCESS_WRITE implicitly + 1)
+    EFFECT_BUFFER_ACCESS_ACCUMULATE = 2, // (::android::hardware::audio::effect::V4_0::EffectBufferAccess.ACCESS_READ implicitly + 1)
 } effect_buffer_access_e;
 
 enum {
-    EFFECT_CONFIG_BUFFER = 1, // 0x0001
-    EFFECT_CONFIG_SMP_RATE = 2, // 0x0002
-    EFFECT_CONFIG_CHANNELS = 4, // 0x0004
-    EFFECT_CONFIG_FORMAT = 8, // 0x0008
-    EFFECT_CONFIG_ACC_MODE = 16, // 0x0010
-    EFFECT_CONFIG_ALL = 31, // ((((BUFFER | SMP_RATE) | CHANNELS) | FORMAT) | ACC_MODE)
+    EFFECT_CONFIG_BUFFER = 1,
+    EFFECT_CONFIG_SMP_RATE = 2,
+    EFFECT_CONFIG_CHANNELS = 4,
+    EFFECT_CONFIG_FORMAT = 8,
+    EFFECT_CONFIG_ACC_MODE = 16,
 };
 
 typedef enum {
     EFFECT_FEATURE_AUX_CHANNELS = 0,
-    EFFECT_FEATURE_CNT = 1,
+    EFFECT_FEATURE_CNT = 1, // (::android::hardware::audio::effect::V4_0::EffectFeature.AUX_CHANNELS implicitly + 1)
 } effect_feature_e;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif  // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V2_0_EXPORTED_CONSTANTS_H_
+#endif  // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_EFFECT_V4_0_EXPORTED_CONSTANTS_H_
diff --git a/audio/include/system/audio_effect.h b/audio/include/system/audio_effect.h
index a559c7c..4cdc773 100644
--- a/audio/include/system/audio_effect.h
+++ b/audio/include/system/audio_effect.h
@@ -60,6 +60,12 @@
     char    implementor[EFFECT_STRING_LEN_MAX];    // human readable effect implementor name
 } effect_descriptor_t;
 
+#define EFFECT_CONFIG_ALL (EFFECT_CONFIG_BUFFER | \
+                           EFFECT_CONFIG_SMP_RATE | \
+                           EFFECT_CONFIG_CHANNELS | \
+                           EFFECT_CONFIG_FORMAT | \
+                           EFFECT_CONFIG_ACC_MODE)
+
 /////////////////////////////////////////////////
 //      Effect control interface
 /////////////////////////////////////////////////
