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

Commit 473bf695 authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "AudioSystem: add OPUS high resolution audio format" into main

parents dc37cde0 19b90791
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -247,7 +247,8 @@ public class AudioSystem
    public static final int AUDIO_FORMAT_LC3            = 0x2B000000;
    /** @hide */
    public static final int AUDIO_FORMAT_OPUS           = 0x08000000;

    /** @hide */
    public static final int AUDIO_FORMAT_OPUS_HI_RES    = 0x08000001;

    /** @hide */
    @IntDef(flag = false, prefix = "AUDIO_FORMAT_", value = {
@@ -259,7 +260,8 @@ public class AudioSystem
            AUDIO_FORMAT_APTX_HD,
            AUDIO_FORMAT_LDAC,
            AUDIO_FORMAT_LC3,
            AUDIO_FORMAT_OPUS
            AUDIO_FORMAT_OPUS,
            AUDIO_FORMAT_OPUS_HI_RES,
           }
    )
    @Retention(RetentionPolicy.SOURCE)
@@ -267,7 +269,10 @@ public class AudioSystem

    /** @hide */
    @IntDef(flag = false, prefix = "AUDIO_FORMAT_", value = {
        AUDIO_FORMAT_LC3}
        AUDIO_FORMAT_LC3,
        AUDIO_FORMAT_OPUS,
        AUDIO_FORMAT_OPUS_HI_RES,
        }
    )
    @Retention(RetentionPolicy.SOURCE)
    public @interface AudioFormatNativeEnumForBtLeAudioCodec {}
@@ -281,6 +286,8 @@ public class AudioSystem
    @Retention(RetentionPolicy.SOURCE)
    public @interface BtOffloadDeviceType {}

    //TODO b/396350294 : remove when BluetoothLeCodecConfig.SOURCE_CODEC_TYPE_OPUS_HI_RES is public
    private static final int BLUETOOTH_LE_AUDIO_CODEC_CONFIG_SOURCE_CODEC_TYPE_OPUS_HI_RES = 2;
    /**
     * @hide
     * Convert audio format enum values to Bluetooth codec values
@@ -310,6 +317,9 @@ public class AudioSystem
            @AudioFormatNativeEnumForBtLeAudioCodec int audioFormat) {
        switch (audioFormat) {
            case AUDIO_FORMAT_LC3: return BluetoothLeAudioCodecConfig.SOURCE_CODEC_TYPE_LC3;
            case AUDIO_FORMAT_OPUS: return BluetoothLeAudioCodecConfig.SOURCE_CODEC_TYPE_OPUS;
            case AUDIO_FORMAT_OPUS_HI_RES:
                return BLUETOOTH_LE_AUDIO_CODEC_CONFIG_SOURCE_CODEC_TYPE_OPUS_HI_RES;
            default:
                Log.e(TAG, "Unknown audio format 0x" + Integer.toHexString(audioFormat)
                        + " for conversion to BT LE audio codec");
@@ -358,6 +368,10 @@ public class AudioSystem
        switch (btCodec) {
            case BluetoothLeAudioCodecConfig.SOURCE_CODEC_TYPE_LC3:
                return AudioSystem.AUDIO_FORMAT_LC3;
            case BluetoothLeAudioCodecConfig.SOURCE_CODEC_TYPE_OPUS:
                return AudioSystem.AUDIO_FORMAT_OPUS;
            case AudioSystem.BLUETOOTH_LE_AUDIO_CODEC_CONFIG_SOURCE_CODEC_TYPE_OPUS_HI_RES:
                return AudioSystem.AUDIO_FORMAT_OPUS_HI_RES;
            default:
                Log.e(TAG, "Unknown LE Audio BT codec 0x" + Integer.toHexString(btCodec)
                        + " for conversion to audio format");
@@ -392,6 +406,8 @@ public class AudioSystem
                return "AUDIO_FORMAT_VORBIS";
            case /* AUDIO_FORMAT_OPUS            */ 0x08000000:
                return "AUDIO_FORMAT_OPUS";
            case /* AUDIO_FORMAT_OPUS_HI_RES     */ 0x08000001:
                return "AUDIO_FORMAT_OPUS_HI_RES";
            case /* AUDIO_FORMAT_AC3             */ 0x09000000:
                return "AUDIO_FORMAT_AC3";
            case /* AUDIO_FORMAT_E_AC3           */ 0x0A000000: