Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4fbcfab authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "AudioFormat: add encodings for IAMF" into main

parents d2cf6ffd 9abb1ddc
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -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
+60 −0
Original line number Original line Diff line number Diff line
@@ -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
@@ -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;
    }
    }
@@ -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;
    }
    }
+208 −2
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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) {
@@ -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;
        }
        }
@@ -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;
@@ -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;
@@ -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:
@@ -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:
@@ -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:
@@ -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 {}
@@ -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 {}
+24 −0
Original line number Original line Diff line number Diff line
@@ -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 + ")";
        }
        }