Loading core/api/current.txt +12 −0 Original line number Original line Diff line number Diff line Loading @@ -21781,6 +21781,18 @@ package android.media { field public static final int ENCODING_DTS_UHD_P2 = 30; // 0x1e 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 = 6; // 0x6 field public static final int ENCODING_E_AC3_JOC = 18; // 0x12 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_IEC61937 = 13; // 0xd field public static final int ENCODING_INVALID = 0; // 0x0 field public static final int ENCODING_INVALID = 0; // 0x0 field public static final int ENCODING_MP3 = 9; // 0x9 field public static final int ENCODING_MP3 = 9; // 0x9 core/jni/android_media_AudioFormat.h +60 −0 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,18 @@ #define ENCODING_DTS_UHD_P2 30 #define ENCODING_DTS_UHD_P2 30 #define ENCODING_DSD 31 #define ENCODING_DSD 31 #define ENCODING_AC4_L4 32 #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_INVALID 0 #define ENCODING_DEFAULT 1 #define ENCODING_DEFAULT 1 Loading Loading @@ -128,6 +140,30 @@ static inline audio_format_t audioFormatToNative(int audioFormat) return AUDIO_FORMAT_DTS_UHD_P2; return AUDIO_FORMAT_DTS_UHD_P2; case ENCODING_DSD: case ENCODING_DSD: return AUDIO_FORMAT_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: default: return AUDIO_FORMAT_INVALID; return AUDIO_FORMAT_INVALID; } } Loading Loading @@ -211,6 +247,30 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat) return ENCODING_DEFAULT; return ENCODING_DEFAULT; case AUDIO_FORMAT_DSD: case AUDIO_FORMAT_DSD: return ENCODING_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: default: return ENCODING_INVALID; return ENCODING_INVALID; } } Loading media/java/android/media/AudioFormat.java +208 −2 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media; package android.media; import static android.media.audio.Flags.FLAG_DOLBY_AC4_LEVEL4_ENCODING_API; 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.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntDef; Loading Loading @@ -382,6 +383,103 @@ public final class AudioFormat implements Parcelable { @FlaggedApi(FLAG_DOLBY_AC4_LEVEL4_ENCODING_API) @FlaggedApi(FLAG_DOLBY_AC4_LEVEL4_ENCODING_API) public static final int ENCODING_AC4_L4 = 32; 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 */ /** @hide */ public static String toLogFriendlyEncoding(int enc) { public static String toLogFriendlyEncoding(int enc) { switch(enc) { switch(enc) { Loading Loading @@ -449,6 +547,30 @@ public final class AudioFormat implements Parcelable { return "ENCODING_DTS_UHD_P2"; return "ENCODING_DTS_UHD_P2"; case ENCODING_DSD: case ENCODING_DSD: return "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 : default : return "invalid encoding " + enc; return "invalid encoding " + enc; } } Loading Loading @@ -931,6 +1053,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; return true; default: default: return false; return false; Loading Loading @@ -972,6 +1106,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; return true; default: default: return false; return false; Loading Loading @@ -1015,6 +1161,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DRA: case ENCODING_DRA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: 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; return false; case ENCODING_INVALID: case ENCODING_INVALID: default: default: Loading Loading @@ -1058,6 +1216,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DRA: case ENCODING_DRA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: 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; return false; case ENCODING_INVALID: case ENCODING_INVALID: default: default: Loading Loading @@ -1350,6 +1520,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; mEncoding = encoding; break; break; case ENCODING_INVALID: case ENCODING_INVALID: Loading Loading @@ -1580,7 +1762,19 @@ public final class AudioFormat implements Parcelable { ENCODING_DRA, ENCODING_DRA, ENCODING_DTS_HD_MA, ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2, 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) @Retention(RetentionPolicy.SOURCE) public @interface Encoding {} public @interface Encoding {} Loading Loading @@ -1619,7 +1813,19 @@ public final class AudioFormat implements Parcelable { ENCODING_DRA, ENCODING_DRA, ENCODING_DTS_HD_MA, ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2, 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) @Retention(RetentionPolicy.SOURCE) public @interface EncodingCanBeInvalid {} public @interface EncodingCanBeInvalid {} Loading media/java/android/media/AudioSystem.java +24 −0 Original line number Original line Diff line number Diff line Loading @@ -559,6 +559,30 @@ public class AudioSystem return "AUDIO_FORMAT_MPEGH_SUB_LC_L3"; return "AUDIO_FORMAT_MPEGH_SUB_LC_L3"; case /* AUDIO_FORMAT_MPEGH_SUB_LC_L4 */ 0x2C000024: case /* AUDIO_FORMAT_MPEGH_SUB_LC_L4 */ 0x2C000024: return "AUDIO_FORMAT_MPEGH_SUB_LC_L4"; 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: default: return "AUDIO_FORMAT_(" + audioFormat + ")"; return "AUDIO_FORMAT_(" + audioFormat + ")"; } } Loading Loading
core/api/current.txt +12 −0 Original line number Original line Diff line number Diff line Loading @@ -21781,6 +21781,18 @@ package android.media { field public static final int ENCODING_DTS_UHD_P2 = 30; // 0x1e 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 = 6; // 0x6 field public static final int ENCODING_E_AC3_JOC = 18; // 0x12 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_IEC61937 = 13; // 0xd field public static final int ENCODING_INVALID = 0; // 0x0 field public static final int ENCODING_INVALID = 0; // 0x0 field public static final int ENCODING_MP3 = 9; // 0x9 field public static final int ENCODING_MP3 = 9; // 0x9
core/jni/android_media_AudioFormat.h +60 −0 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,18 @@ #define ENCODING_DTS_UHD_P2 30 #define ENCODING_DTS_UHD_P2 30 #define ENCODING_DSD 31 #define ENCODING_DSD 31 #define ENCODING_AC4_L4 32 #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_INVALID 0 #define ENCODING_DEFAULT 1 #define ENCODING_DEFAULT 1 Loading Loading @@ -128,6 +140,30 @@ static inline audio_format_t audioFormatToNative(int audioFormat) return AUDIO_FORMAT_DTS_UHD_P2; return AUDIO_FORMAT_DTS_UHD_P2; case ENCODING_DSD: case ENCODING_DSD: return AUDIO_FORMAT_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: default: return AUDIO_FORMAT_INVALID; return AUDIO_FORMAT_INVALID; } } Loading Loading @@ -211,6 +247,30 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat) return ENCODING_DEFAULT; return ENCODING_DEFAULT; case AUDIO_FORMAT_DSD: case AUDIO_FORMAT_DSD: return ENCODING_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: default: return ENCODING_INVALID; return ENCODING_INVALID; } } Loading
media/java/android/media/AudioFormat.java +208 −2 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media; package android.media; import static android.media.audio.Flags.FLAG_DOLBY_AC4_LEVEL4_ENCODING_API; 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.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntDef; Loading Loading @@ -382,6 +383,103 @@ public final class AudioFormat implements Parcelable { @FlaggedApi(FLAG_DOLBY_AC4_LEVEL4_ENCODING_API) @FlaggedApi(FLAG_DOLBY_AC4_LEVEL4_ENCODING_API) public static final int ENCODING_AC4_L4 = 32; 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 */ /** @hide */ public static String toLogFriendlyEncoding(int enc) { public static String toLogFriendlyEncoding(int enc) { switch(enc) { switch(enc) { Loading Loading @@ -449,6 +547,30 @@ public final class AudioFormat implements Parcelable { return "ENCODING_DTS_UHD_P2"; return "ENCODING_DTS_UHD_P2"; case ENCODING_DSD: case ENCODING_DSD: return "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 : default : return "invalid encoding " + enc; return "invalid encoding " + enc; } } Loading Loading @@ -931,6 +1053,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; return true; default: default: return false; return false; Loading Loading @@ -972,6 +1106,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; return true; default: default: return false; return false; Loading Loading @@ -1015,6 +1161,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DRA: case ENCODING_DRA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: 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; return false; case ENCODING_INVALID: case ENCODING_INVALID: default: default: Loading Loading @@ -1058,6 +1216,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DRA: case ENCODING_DRA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: 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; return false; case ENCODING_INVALID: case ENCODING_INVALID: default: default: Loading Loading @@ -1350,6 +1520,18 @@ public final class AudioFormat implements Parcelable { case ENCODING_DTS_HD_MA: case ENCODING_DTS_HD_MA: case ENCODING_DTS_UHD_P2: case ENCODING_DTS_UHD_P2: case ENCODING_DSD: 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; mEncoding = encoding; break; break; case ENCODING_INVALID: case ENCODING_INVALID: Loading Loading @@ -1580,7 +1762,19 @@ public final class AudioFormat implements Parcelable { ENCODING_DRA, ENCODING_DRA, ENCODING_DTS_HD_MA, ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2, 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) @Retention(RetentionPolicy.SOURCE) public @interface Encoding {} public @interface Encoding {} Loading Loading @@ -1619,7 +1813,19 @@ public final class AudioFormat implements Parcelable { ENCODING_DRA, ENCODING_DRA, ENCODING_DTS_HD_MA, ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2, 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) @Retention(RetentionPolicy.SOURCE) public @interface EncodingCanBeInvalid {} public @interface EncodingCanBeInvalid {} Loading
media/java/android/media/AudioSystem.java +24 −0 Original line number Original line Diff line number Diff line Loading @@ -559,6 +559,30 @@ public class AudioSystem return "AUDIO_FORMAT_MPEGH_SUB_LC_L3"; return "AUDIO_FORMAT_MPEGH_SUB_LC_L3"; case /* AUDIO_FORMAT_MPEGH_SUB_LC_L4 */ 0x2C000024: case /* AUDIO_FORMAT_MPEGH_SUB_LC_L4 */ 0x2C000024: return "AUDIO_FORMAT_MPEGH_SUB_LC_L4"; 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: default: return "AUDIO_FORMAT_(" + audioFormat + ")"; return "AUDIO_FORMAT_(" + audioFormat + ")"; } } Loading