summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/current.txt12
-rw-r--r--core/jni/android_media_AudioFormat.h60
-rw-r--r--media/java/android/media/AudioFormat.java210
-rw-r--r--media/java/android/media/AudioSystem.java24
4 files changed, 304 insertions, 2 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 814f117cd77c..ff9c4aae287b 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -21781,6 +21781,18 @@ package android.media {
field public static final int ENCODING_DTS_UHD_P2 = 30; // 0x1e
field public static final int ENCODING_E_AC3 = 6; // 0x6
field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC = 42; // 0x2a
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC = 43; // 0x2b
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS = 41; // 0x29
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM = 44; // 0x2c
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_PROFILE_AAC = 38; // 0x26
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_PROFILE_FLAC = 39; // 0x27
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_PROFILE_OPUS = 37; // 0x25
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_BASE_PROFILE_PCM = 40; // 0x28
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_SIMPLE_PROFILE_AAC = 34; // 0x22
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_SIMPLE_PROFILE_FLAC = 35; // 0x23
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_SIMPLE_PROFILE_OPUS = 33; // 0x21
+ field @FlaggedApi("android.media.audio.iamf_definitions_api") public static final int ENCODING_IAMF_SIMPLE_PROFILE_PCM = 36; // 0x24
field public static final int ENCODING_IEC61937 = 13; // 0xd
field public static final int ENCODING_INVALID = 0; // 0x0
field public static final int ENCODING_MP3 = 9; // 0x9
diff --git a/core/jni/android_media_AudioFormat.h b/core/jni/android_media_AudioFormat.h
index 704aef3cd131..4ba1ae9d670d 100644
--- a/core/jni/android_media_AudioFormat.h
+++ b/core/jni/android_media_AudioFormat.h
@@ -51,6 +51,18 @@
#define ENCODING_DTS_UHD_P2 30
#define ENCODING_DSD 31
#define ENCODING_AC4_L4 32
+#define ENCODING_IAMF_SIMPLE_PROFILE_OPUS 33
+#define ENCODING_IAMF_SIMPLE_PROFILE_AAC 34
+#define ENCODING_IAMF_SIMPLE_PROFILE_FLAC 35
+#define ENCODING_IAMF_SIMPLE_PROFILE_PCM 36
+#define ENCODING_IAMF_BASE_PROFILE_OPUS 37
+#define ENCODING_IAMF_BASE_PROFILE_AAC 38
+#define ENCODING_IAMF_BASE_PROFILE_FLAC 39
+#define ENCODING_IAMF_BASE_PROFILE_PCM 40
+#define ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS 41
+#define ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC 42
+#define ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC 43
+#define ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM 44
#define ENCODING_INVALID 0
#define ENCODING_DEFAULT 1
@@ -128,6 +140,30 @@ static inline audio_format_t audioFormatToNative(int audioFormat)
return AUDIO_FORMAT_DTS_UHD_P2;
case ENCODING_DSD:
return AUDIO_FORMAT_DSD;
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ return AUDIO_FORMAT_IAMF_SIMPLE_OPUS;
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ return AUDIO_FORMAT_IAMF_SIMPLE_AAC;
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ return AUDIO_FORMAT_IAMF_SIMPLE_FLAC;
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
+ return AUDIO_FORMAT_IAMF_SIMPLE_PCM;
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ return AUDIO_FORMAT_IAMF_BASE_OPUS;
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ return AUDIO_FORMAT_IAMF_BASE_AAC;
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ return AUDIO_FORMAT_IAMF_BASE_FLAC;
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ return AUDIO_FORMAT_IAMF_BASE_PCM;
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ return AUDIO_FORMAT_IAMF_BASE_ENHANCED_OPUS;
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ return AUDIO_FORMAT_IAMF_BASE_ENHANCED_AAC;
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ return AUDIO_FORMAT_IAMF_BASE_ENHANCED_FLAC;
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ return AUDIO_FORMAT_IAMF_BASE_ENHANCED_PCM;
default:
return AUDIO_FORMAT_INVALID;
}
@@ -211,6 +247,30 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat)
return ENCODING_DEFAULT;
case AUDIO_FORMAT_DSD:
return ENCODING_DSD;
+ case AUDIO_FORMAT_IAMF_SIMPLE_OPUS:
+ return ENCODING_IAMF_SIMPLE_PROFILE_OPUS;
+ case AUDIO_FORMAT_IAMF_SIMPLE_AAC:
+ return ENCODING_IAMF_SIMPLE_PROFILE_AAC;
+ case AUDIO_FORMAT_IAMF_SIMPLE_FLAC:
+ return ENCODING_IAMF_SIMPLE_PROFILE_FLAC;
+ case AUDIO_FORMAT_IAMF_SIMPLE_PCM:
+ return ENCODING_IAMF_SIMPLE_PROFILE_PCM;
+ case AUDIO_FORMAT_IAMF_BASE_OPUS:
+ return ENCODING_IAMF_BASE_PROFILE_OPUS;
+ case AUDIO_FORMAT_IAMF_BASE_AAC:
+ return ENCODING_IAMF_BASE_PROFILE_AAC;
+ case AUDIO_FORMAT_IAMF_BASE_FLAC:
+ return ENCODING_IAMF_BASE_PROFILE_FLAC;
+ case AUDIO_FORMAT_IAMF_BASE_PCM:
+ return ENCODING_IAMF_BASE_PROFILE_PCM;
+ case AUDIO_FORMAT_IAMF_BASE_ENHANCED_OPUS:
+ return ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS;
+ case AUDIO_FORMAT_IAMF_BASE_ENHANCED_AAC:
+ return ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC;
+ case AUDIO_FORMAT_IAMF_BASE_ENHANCED_FLAC:
+ return ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC;
+ case AUDIO_FORMAT_IAMF_BASE_ENHANCED_PCM:
+ return ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM;
default:
return ENCODING_INVALID;
}
diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java
index c72a74efcff8..8bc66a048d27 100644
--- a/media/java/android/media/AudioFormat.java
+++ b/media/java/android/media/AudioFormat.java
@@ -17,6 +17,7 @@
package android.media;
import static android.media.audio.Flags.FLAG_DOLBY_AC4_LEVEL4_ENCODING_API;
+import static android.media.audio.Flags.FLAG_IAMF_DEFINITIONS_API;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
@@ -382,6 +383,103 @@ public final class AudioFormat implements Parcelable {
@FlaggedApi(FLAG_DOLBY_AC4_LEVEL4_ENCODING_API)
public static final int ENCODING_AC4_L4 = 32;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-simple">simple profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in OPUS.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_SIMPLE_PROFILE_OPUS = 33;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-simple">simple profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in AAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_SIMPLE_PROFILE_AAC = 34;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-simple">simple profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in FLAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_SIMPLE_PROFILE_FLAC = 35;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-simple">simple profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in PCM.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_SIMPLE_PROFILE_PCM = 36;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base">base profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in OPUS.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_PROFILE_OPUS = 37;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base">base profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in AAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_PROFILE_AAC = 38;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base">base profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in FLAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_PROFILE_FLAC = 39;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base">base profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in PCM.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_PROFILE_PCM = 40;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base-enhanced">base-enhanced profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in OPUS.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS = 41;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base-enhanced">base-enhanced profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in AAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC = 42;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base-enhanced">base-enhanced profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in FLAC.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC = 43;
+ /**
+ * Audio data format: IAMF using the
+ * <a href="https://aomediacodec.github.io/iamf/#profiles-base-enhanced">base-enhanced profile</a>
+ * with audio streams <a href="https://aomediacodec.github.io/iamf/#codec_id">encoded</a>
+ * in PCM.
+ */
+ @FlaggedApi(FLAG_IAMF_DEFINITIONS_API)
+ public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM = 44;
+
/** @hide */
public static String toLogFriendlyEncoding(int enc) {
switch(enc) {
@@ -449,6 +547,30 @@ public final class AudioFormat implements Parcelable {
return "ENCODING_DTS_UHD_P2";
case ENCODING_DSD:
return "ENCODING_DSD";
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ return "ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC";
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ return "ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC";
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ return "ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS";
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ return "ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM";
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ return "ENCODING_IAMF_BASE_PROFILE_AAC";
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ return "ENCODING_IAMF_BASE_PROFILE_FLAC";
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ return "ENCODING_IAMF_BASE_PROFILE_OPUS";
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ return "ENCODING_IAMF_BASE_PROFILE_PCM";
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ return "ENCODING_IAMF_SIMPLE_PROFILE_AAC";
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ return "ENCODING_IAMF_SIMPLE_PROFILE_FLAC";
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ return "ENCODING_IAMF_SIMPLE_PROFILE_OPUS";
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
+ return "ENCODING_IAMF_SIMPLE_PROFILE_PCM";
default :
return "invalid encoding " + enc;
}
@@ -931,6 +1053,18 @@ public final class AudioFormat implements Parcelable {
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
case ENCODING_DSD:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
return true;
default:
return false;
@@ -972,6 +1106,18 @@ public final class AudioFormat implements Parcelable {
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
case ENCODING_DSD:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
return true;
default:
return false;
@@ -1015,6 +1161,18 @@ public final class AudioFormat implements Parcelable {
case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM: // PCM but inside compressed stream
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_PROFILE_PCM: // PCM but inside compressed stream
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM: // PCM but inside compressed stream
return false;
case ENCODING_INVALID:
default:
@@ -1058,6 +1216,18 @@ public final class AudioFormat implements Parcelable {
case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
return false;
case ENCODING_INVALID:
default:
@@ -1350,6 +1520,18 @@ public final class AudioFormat implements Parcelable {
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
case ENCODING_DSD:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM:
+ case ENCODING_IAMF_BASE_PROFILE_AAC:
+ case ENCODING_IAMF_BASE_PROFILE_FLAC:
+ case ENCODING_IAMF_BASE_PROFILE_OPUS:
+ case ENCODING_IAMF_BASE_PROFILE_PCM:
+ case ENCODING_IAMF_SIMPLE_PROFILE_AAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_FLAC:
+ case ENCODING_IAMF_SIMPLE_PROFILE_OPUS:
+ case ENCODING_IAMF_SIMPLE_PROFILE_PCM:
mEncoding = encoding;
break;
case ENCODING_INVALID:
@@ -1580,7 +1762,19 @@ public final class AudioFormat implements Parcelable {
ENCODING_DRA,
ENCODING_DTS_HD_MA,
ENCODING_DTS_UHD_P2,
- ENCODING_DSD }
+ ENCODING_DSD,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM,
+ ENCODING_IAMF_BASE_PROFILE_AAC,
+ ENCODING_IAMF_BASE_PROFILE_FLAC,
+ ENCODING_IAMF_BASE_PROFILE_OPUS,
+ ENCODING_IAMF_BASE_PROFILE_PCM,
+ ENCODING_IAMF_SIMPLE_PROFILE_AAC,
+ ENCODING_IAMF_SIMPLE_PROFILE_FLAC,
+ ENCODING_IAMF_SIMPLE_PROFILE_OPUS,
+ ENCODING_IAMF_SIMPLE_PROFILE_PCM }
)
@Retention(RetentionPolicy.SOURCE)
public @interface Encoding {}
@@ -1619,7 +1813,19 @@ public final class AudioFormat implements Parcelable {
ENCODING_DRA,
ENCODING_DTS_HD_MA,
ENCODING_DTS_UHD_P2,
- ENCODING_DSD }
+ ENCODING_DSD,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS,
+ ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM,
+ ENCODING_IAMF_BASE_PROFILE_AAC,
+ ENCODING_IAMF_BASE_PROFILE_FLAC,
+ ENCODING_IAMF_BASE_PROFILE_OPUS,
+ ENCODING_IAMF_BASE_PROFILE_PCM,
+ ENCODING_IAMF_SIMPLE_PROFILE_AAC,
+ ENCODING_IAMF_SIMPLE_PROFILE_FLAC,
+ ENCODING_IAMF_SIMPLE_PROFILE_OPUS,
+ ENCODING_IAMF_SIMPLE_PROFILE_PCM }
)
@Retention(RetentionPolicy.SOURCE)
public @interface EncodingCanBeInvalid {}
diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java
index d0d91ba599f9..12d7f33a0d51 100644
--- a/media/java/android/media/AudioSystem.java
+++ b/media/java/android/media/AudioSystem.java
@@ -559,6 +559,30 @@ public class AudioSystem
return "AUDIO_FORMAT_MPEGH_SUB_LC_L3";
case /* AUDIO_FORMAT_MPEGH_SUB_LC_L4 */ 0x2C000024:
return "AUDIO_FORMAT_MPEGH_SUB_LC_L4";
+ case /* AUDIO_FORMAT_IAMF_SIMPLE_OPUS */ 0x34010001:
+ return "AUDIO_FORMAT_IAMF_SIMPLE_OPUS";
+ case /* AUDIO_FORMAT_IAMF_SIMPLE_AAC */ 0x34010002:
+ return "AUDIO_FORMAT_IAMF_SIMPLE_AAC";
+ case /* AUDIO_FORMAT_IAMF_SIMPLE_FLAC */ 0x34010004:
+ return "AUDIO_FORMAT_IAMF_SIMPLE_FLAC";
+ case /* AUDIO_FORMAT_IAMF_SIMPLE_PCM */ 0x34010008:
+ return "AUDIO_FORMAT_IAMF_SIMPLE_PCM";
+ case /* AUDIO_FORMAT_IAMF_BASE_OPUS */ 0x34020001:
+ return "AUDIO_FORMAT_IAMF_BASE_OPUS";
+ case /* AUDIO_FORMAT_IAMF_BASE_AAC */ 0x34020002:
+ return "AUDIO_FORMAT_IAMF_BASE_AAC";
+ case /* AUDIO_FORMAT_IAMF_BASE_FLAC */ 0x34020004:
+ return "AUDIO_FORMAT_IAMF_BASE_FLAC";
+ case /* AUDIO_FORMAT_IAMF_BASE_PCM */ 0x34020008:
+ return "AUDIO_FORMAT_IAMF_BASE_PCM";
+ case /* AUDIO_FORMAT_IAMF_BASE_ENHANCED_OPUS */ 0x34040001:
+ return "AUDIO_FORMAT_IAMF_BASE_ENHANCED_OPUS";
+ case /* AUDIO_FORMAT_IAMF_BASE_ENHANCED_AAC */ 0x34040002:
+ return "AUDIO_FORMAT_IAMF_BASE_ENHANCED_AAC";
+ case /* AUDIO_FORMAT_IAMF_BASE_ENHANCED_FLAC */ 0x34040004:
+ return "AUDIO_FORMAT_IAMF_BASE_ENHANCED_FLAC";
+ case /* AUDIO_FORMAT_IAMF_BASE_ENHANCED_PCM */ 0x34040008:
+ return "AUDIO_FORMAT_IAMF_BASE_ENHANCED_PCM";
default:
return "AUDIO_FORMAT_(" + audioFormat + ")";
}