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

Commit 636937ed authored by Omer Osman's avatar Omer Osman Committed by Automerger Merge Worker
Browse files

Merge "Add support for Opus over A2DP" into tm-qpr-dev am: 165f7609 am: b702d4f6

parents 9ef44750 b702d4f6
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ public class AudioSystem

    private static final String TAG = "AudioSystem";

    private static final int SOURCE_CODEC_TYPE_OPUS = 6; // TODO remove in U

    // private constructor to prevent instantiating AudioSystem
    private AudioSystem() {
        throw new UnsupportedOperationException("Trying to instantiate AudioSystem");
@@ -243,6 +245,8 @@ public class AudioSystem
    public static final int AUDIO_FORMAT_LDAC           = 0x23000000;
    /** @hide */
    public static final int AUDIO_FORMAT_LC3            = 0x2B000000;
    /** @hide */
    public static final int AUDIO_FORMAT_OPUS           = 0x08000000;


    /** @hide */
@@ -254,7 +258,9 @@ public class AudioSystem
            AUDIO_FORMAT_APTX,
            AUDIO_FORMAT_APTX_HD,
            AUDIO_FORMAT_LDAC,
            AUDIO_FORMAT_LC3}
            AUDIO_FORMAT_LC3,
            AUDIO_FORMAT_OPUS
           }
    )
    @Retention(RetentionPolicy.SOURCE)
    public @interface AudioFormatNativeEnumForBtCodec {}
@@ -287,6 +293,7 @@ public class AudioSystem
            case AUDIO_FORMAT_APTX_HD: return BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
            case AUDIO_FORMAT_LDAC: return BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
            case AUDIO_FORMAT_LC3: return BluetoothCodecConfig.SOURCE_CODEC_TYPE_LC3;
            case AUDIO_FORMAT_OPUS: return SOURCE_CODEC_TYPE_OPUS; // TODO update in U
            default:
                Log.e(TAG, "Unknown audio format 0x" + Integer.toHexString(audioFormat)
                        + " for conversion to BT codec");
@@ -329,6 +336,8 @@ public class AudioSystem
                return AudioSystem.AUDIO_FORMAT_LDAC;
            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LC3:
                return AudioSystem.AUDIO_FORMAT_LC3;
            case SOURCE_CODEC_TYPE_OPUS: // TODO update in U
                return AudioSystem.AUDIO_FORMAT_OPUS;
            default:
                Log.e(TAG, "Unknown BT codec 0x" + Integer.toHexString(btCodec)
                        + " for conversion to audio format");
+6 −0
Original line number Diff line number Diff line
@@ -154,6 +154,8 @@
        <item><xliff:g id="qualcomm">Qualcomm®</xliff:g> <xliff:g id="aptx">aptX™</xliff:g> audio</item>
        <item><xliff:g id="qualcomm">Qualcomm®</xliff:g> <xliff:g id="aptx_hd">aptX™ HD</xliff:g> audio</item>
        <item>LDAC</item>
        <item>LC3</item>
        <item>Opus</item>
    </string-array>

    <!-- Values for Bluetooth Audio Codec selection preference. -->
@@ -164,6 +166,8 @@
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
    </string-array>

    <!-- Summaries for Bluetooth Audio Codec selection preference. [CHAR LIMIT=50]-->
@@ -174,6 +178,8 @@
        <item><xliff:g id="qualcomm">Qualcomm®</xliff:g> <xliff:g id="aptx">aptX™</xliff:g> audio</item>
        <item><xliff:g id="qualcomm">Qualcomm®</xliff:g> <xliff:g id="aptx_hd">aptX™ HD</xliff:g> audio</item>
        <item>LDAC</item>
        <item>LC3</item>
        <item>Opus</item>
    </string-array>

    <!-- Titles for Bluetooth Audio Codec Sample Rate selection preference. [CHAR LIMIT=50] -->
+8 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ import java.util.List;
public class A2dpProfile implements LocalBluetoothProfile {
    private static final String TAG = "A2dpProfile";

    private static final int SOURCE_CODEC_TYPE_OPUS = 6; // TODO remove in U

    private Context mContext;

    private BluetoothA2dp mService;
@@ -328,6 +330,12 @@ public class A2dpProfile implements LocalBluetoothProfile {
           case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC:
               index = 5;
               break;
            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LC3:
                index = 6;
                break;
            case SOURCE_CODEC_TYPE_OPUS: // TODO update in U
                index = 7;
                break;
           }

        if (index < 0) {
+4 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ public class BtHelper {

    private static final String TAG = "AS.BtHelper";

    private static final int SOURCE_CODEC_TYPE_OPUS = 6; // TODO remove in U

    private final @NonNull AudioDeviceBroker mDeviceBroker;

    BtHelper(@NonNull AudioDeviceBroker broker) {
@@ -911,6 +913,8 @@ public class BtHelper {
                return "ENCODING_APTX_HD";
            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC:
                return "ENCODING_LDAC";
            case SOURCE_CODEC_TYPE_OPUS: // TODO update in U
                return "ENCODING_OPUS";
            default:
                return "ENCODING_BT_CODEC_TYPE(" + btCodecType + ")";
        }