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

Commit 74db9bf9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Prioritize the 32k dual mic config for bi-directions usage" into main

parents 7dfbb73f 84cdb52a
Loading
Loading
Loading
Loading
+26 −26
Original line number Diff line number Diff line
@@ -8,34 +8,34 @@
        {
            "name": "Conversational",
            "configurations": [
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_2",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_2",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanMonoSrc_32_2_1",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_32_2_1",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_1",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_1",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_2",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_2",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
@@ -48,12 +48,12 @@
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "DualDev_OneChanMonoSrc_16_2_Balanced_Reliability",
                "SingleDev_OneChanStereoSrc_16_2_Balanced_Reliability",
                "SingleDev_OneChanMonoSrc_48_4_Balanced_Reliability",
@@ -153,14 +153,14 @@
        {
            "name": "Game",
            "configurations": [
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
@@ -168,12 +168,12 @@
                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_TwoChanStereoSrc_16khz_30octs_R3_L12_1",
                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_High_Reliability_1",
                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_1",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_48_2_Low_Latency",
                "DualDev_OneChanStereoSnk_48_3_Low_Latency",
                "DualDev_OneChanStereoSnk_48_1_Low_Latency",
@@ -206,32 +206,32 @@
        {
            "name": "VoiceAssistants",
            "configurations": [
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_2_Balanced_Reliability",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_1_Balanced_Reliability",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_48_4_OneChanStereoSrc_16_2_Balanced_Reliability",
                "DualDev_OneChanStereoSnk_48_4_OneChanStereoSrc_24_2_Balanced_Reliability",
                "DualDev_OneChanStereoSnk_48_4_OneChanStereoSrc_32_2_Balanced_Reliability",
@@ -260,20 +260,20 @@
            "configurations": [
                "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_Balanced_Reliability_1",
                "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_R11_L40_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_16_1_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_Low_Latency",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_32_2_1",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_2_Balanced_Reliability",
                "DualDev_OneChanStereoSnk_OneChanStereoSrc_48_1_Balanced_Reliability",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_2_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_16_1_1",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_TwoChanStereoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Low_Latency",
@@ -286,12 +286,12 @@
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_1",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_Low_Latency",
                "SingleDev_OneChanMonoSnk_OneChanMonoSrc_32_2_1",
                "SingleDev_OneChanMonoSrc_48_2_Balanced_Reliability",
                "SingleDev_OneChanMonoSrc_48_1_Balanced_Reliability",
                "SingleDev_OneChanMonoSrc_32_2_Balanced_Reliability",
+33 −0
Original line number Diff line number Diff line
@@ -5818,6 +5818,39 @@ TEST_F(UnicastTest, EarbudsWithStereoSinkMonoSourceSupporting32kHz) {
  SyncOnMainLoop();
}

TEST_F(UnicastTest, TwoEarbudsWithSourceSupporting32kHz) {
  const RawAddress test_address0 = GetTestAddress(0);
  int group_id = 0;
  SetSampleDatabaseEarbudsValid(
      1, test_address0, codec_spec_conf::kLeAudioLocationStereo,
      codec_spec_conf::kLeAudioLocationStereo, default_channel_cnt,
      default_channel_cnt, 0x0024,
      /* source sample freq 32/16khz */ true, /*add_csis*/
      true,                                   /*add_cas*/
      true,                                   /*add_pacs*/
      default_ase_cnt /*add_ascs_cnt*/);
  EXPECT_CALL(mock_audio_hal_client_callbacks_,
              OnConnectionState(ConnectionState::CONNECTED, test_address0))
      .Times(1);
  ConnectLeAudio(test_address0);

  // LeAudioCodecConfiguration received_af_sink_config;
  const LeAudioCodecConfiguration expected_af_sink_config = {
      .num_channels = 2,
      .sample_rate = bluetooth::audio::le_audio::kSampleRate32000,
      .bits_per_sample = bluetooth::audio::le_audio::kBitsPerSample16,
      .data_interval_us = LeAudioCodecConfiguration::kInterval10000Us,
  };

  // Audio sessions are started only when device gets active
  EXPECT_CALL(*mock_le_audio_source_hal_client_, Start(_, _)).Times(1);
  EXPECT_CALL(*mock_le_audio_sink_hal_client_,
              Start(expected_af_sink_config, _))
      .Times(1);
  LeAudioClient::Get()->GroupSetActive(group_id);
  SyncOnMainLoop();
}

TEST_F(UnicastTest, MicrophoneAttachToCurrentMediaScenario) {
  const RawAddress test_address0 = GetTestAddress(0);
  int group_id = bluetooth::groups::kGroupUnknown;