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

Commit 8680ed90 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[LE Audio] Add the support for 24k config" am: 21c4b339 am:...

Merge "[LE Audio] Add the support for 24k config" am: 21c4b339 am: 53885a1b am: 0472c264 am: 09464d46

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2085864



Change-Id: Idb3fdcf738c13c3f98e06224a28862ef76a72936
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents f6edd4df 09464d46
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -359,6 +359,7 @@ std::unordered_map<int32_t, uint8_t> frame_duration_map{
std::unordered_map<int32_t, uint16_t> octets_per_frame_map{
std::unordered_map<int32_t, uint16_t> octets_per_frame_map{
    {30, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen30},
    {30, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen30},
    {40, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen40},
    {40, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen40},
    {60, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen60},
    {120, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen120}};
    {120, ::le_audio::codec_spec_conf::kLeAudioCodecLC3FrameLen120}};


std::unordered_map<AudioLocation, uint32_t> audio_location_map{
std::unordered_map<AudioLocation, uint32_t> audio_location_map{
+313 −0
Original line number Original line Diff line number Diff line
@@ -372,6 +372,46 @@
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": ["QoS_Config_16_2_2"]
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
            "name": "DualDev_OneChanStereoSnk_24_2_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        {
            "name": "DualDev_OneChanStereoSnk_24_2_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_24_2_2"]
        },
        {
            "name": "SingleDev_OneChanStereoSnk_24_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        {
            "name": "SingleDev_OneChanStereoSnk_24_2_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_24_2_2"]
        },
        {
            "name": "SingleDev_TwoChanStereoSnk_24_2_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        {
            "name": "SingleDev_TwoChanStereoSnk_24_2_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_24_2",
            "qos_config_name": ["QoS_Config_24_2_2"]
        },
        {
            "name": "SingleDev_OneChanMonoSnk_24_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_24_2",
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        {
            "name": "SingleDev_OneChanMonoSnk_24_2_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_24_2",
            "qos_config_name": ["QoS_Config_24_2_2"]
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_48_4_Server_Preferred",
            "name": "DualDev_OneChanStereoSnk_48_4_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
@@ -3687,6 +3727,274 @@
                    ]
                    ]
                }
                }
            ]
            ]
        },
        {
            "name": "DualDev_OneChanStereoSnk_24_2",
            "subconfigurations": [
                {
                    "device_cnt": 2,
                    "ase_cnt": 2,
                    "direction": "SINK",
                    "configuration_strategy": "MONO_ONE_CIS_PER_DEVICE",
                    "codec_id": {
                        "coding_format": 6,
                        "vendor_company_id": 0,
                        "vendor_codec_id": 0
                    },
                    "codec_configuration": [
                        {
                            "name": "sampling_frequency",
                            "type": 1,
                            "compound_value": {
                                "value": [
                                    5
                                ]
                            }
                        },
                        {
                            "name": "frame_duration",
                            "type": 2,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        },
                        {
                            "name": "audio_channel_allocation",
                            "type": 3,
                            "compound_value": {
                                "value": [
                                    1,
                                    0,
                                    0,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "octets_per_codec_frame",
                            "type": 4,
                            "compound_value": {
                                "value": [
                                    60,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "codec_frame_blocks_per_sdu",
                            "type": 5,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "SingleDev_OneChanStereoSnk_24_2",
            "subconfigurations": [
                {
                    "device_cnt": 1,
                    "ase_cnt": 2,
                    "direction": "SINK",
                    "configuration_strategy": "STEREO_TWO_CISES_PER_DEVICE",
                    "codec_id": {
                        "coding_format": 6,
                        "vendor_company_id": 0,
                        "vendor_codec_id": 0
                    },
                    "codec_configuration": [
                        {
                            "name": "sampling_frequency",
                            "type": 1,
                            "compound_value": {
                                "value": [
                                    5
                                ]
                            }
                        },
                        {
                            "name": "frame_duration",
                            "type": 2,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        },
                        {
                            "name": "audio_channel_allocation",
                            "type": 3,
                            "compound_value": {
                                "value": [
                                    1,
                                    0,
                                    0,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "octets_per_codec_frame",
                            "type": 4,
                            "compound_value": {
                                "value": [
                                    60,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "codec_frame_blocks_per_sdu",
                            "type": 5,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "SingleDev_TwoChanStereoSnk_24_2",
            "subconfigurations": [
                {
                    "device_cnt": 1,
                    "ase_cnt": 1,
                    "direction": "SINK",
                    "configuration_strategy": "STEREO_ONE_CIS_PER_DEVICE",
                    "codec_id": {
                        "coding_format": 6,
                        "vendor_company_id": 0,
                        "vendor_codec_id": 0
                    },
                    "codec_configuration": [
                        {
                            "name": "sampling_frequency",
                            "type": 1,
                            "compound_value": {
                                "value": [
                                    5
                                ]
                            }
                        },
                        {
                            "name": "frame_duration",
                            "type": 2,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        },
                        {
                            "name": "audio_channel_allocation",
                            "type": 3,
                            "compound_value": {
                                "value": [
                                    3,
                                    0,
                                    0,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "octets_per_codec_frame",
                            "type": 4,
                            "compound_value": {
                                "value": [
                                    60,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "codec_frame_blocks_per_sdu",
                            "type": 5,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "SingleDev_OneChanMonoSnk_24_2",
            "subconfigurations": [
                {
                    "device_cnt": 1,
                    "ase_cnt": 1,
                    "direction": "SINK",
                    "configuration_strategy": "MONO_ONE_CIS_PER_DEVICE",
                    "codec_id": {
                        "coding_format": 6,
                        "vendor_company_id": 0,
                        "vendor_codec_id": 0
                    },
                    "codec_configuration": [
                        {
                            "name": "sampling_frequency",
                            "type": 1,
                            "compound_value": {
                                "value": [
                                    5
                                ]
                            }
                        },
                        {
                            "name": "frame_duration",
                            "type": 2,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        },
                        {
                            "name": "audio_channel_allocation",
                            "type": 3,
                            "compound_value": {
                                "value": [
                                    1,
                                    0,
                                    0,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "octets_per_codec_frame",
                            "type": 4,
                            "compound_value": {
                                "value": [
                                    60,
                                    0
                                ]
                            }
                        },
                        {
                            "name": "codec_frame_blocks_per_sdu",
                            "type": 5,
                            "compound_value": {
                                "value": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            ]
        }
        }
    ],
    ],
    "qos_configurations": [
    "qos_configurations": [
@@ -3710,6 +4018,11 @@
            "retransmission_number": 13,
            "retransmission_number": 13,
            "max_transport_latency": 95
            "max_transport_latency": 95
        },
        },
        {
            "name": "QoS_Config_24_2_2",
            "retransmission_number": 13,
            "max_transport_latency": 95
        },
        {
        {
            "name": "QoS_Config_48_4_1",
            "name": "QoS_Config_48_4_1",
            "retransmission_number": 5,
            "retransmission_number": 5,
+8 −0
Original line number Original line Diff line number Diff line
@@ -70,24 +70,32 @@
            "configurations": [
            "configurations": [
                "DualDev_OneChanStereoSnk_48_4_Server_Preferred",
                "DualDev_OneChanStereoSnk_48_4_Server_Preferred",
                "DualDev_OneChanStereoSnk_48_4_2",
                "DualDev_OneChanStereoSnk_48_4_2",
                "DualDev_OneChanStereoSnk_24_2_Server_Preferred",
                "DualDev_OneChanStereoSnk_24_2_2",
                "DualDev_OneChanStereoSnk_16_2_Server_Preferred",
                "DualDev_OneChanStereoSnk_16_2_Server_Preferred",
                "DualDev_OneChanStereoSnk_16_2_2",
                "DualDev_OneChanStereoSnk_16_2_2",
                "DualDev_OneChanStereoSnk_16_1_Server_Preferred",
                "DualDev_OneChanStereoSnk_16_1_Server_Preferred",
                "DualDev_OneChanStereoSnk_16_1_2",
                "DualDev_OneChanStereoSnk_16_1_2",
                "SingleDev_OneChanStereoSnk_48_4_Server_Preferred",
                "SingleDev_OneChanStereoSnk_48_4_Server_Preferred",
                "SingleDev_OneChanStereoSnk_48_4_2",
                "SingleDev_OneChanStereoSnk_48_4_2",
                "SingleDev_OneChanStereoSnk_24_2_Server_Preferred",
                "SingleDev_OneChanStereoSnk_24_2_2",
                "SingleDev_OneChanStereoSnk_16_2_Server_Preferred",
                "SingleDev_OneChanStereoSnk_16_2_Server_Preferred",
                "SingleDev_OneChanStereoSnk_16_2_2",
                "SingleDev_OneChanStereoSnk_16_2_2",
                "SingleDev_OneChanStereoSnk_16_1_Server_Preferred",
                "SingleDev_OneChanStereoSnk_16_1_Server_Preferred",
                "SingleDev_OneChanStereoSnk_16_1_2",
                "SingleDev_OneChanStereoSnk_16_1_2",
                "SingleDev_TwoChanStereoSnk_48_4_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_48_4_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_48_4_2",
                "SingleDev_TwoChanStereoSnk_48_4_2",
                "SingleDev_TwoChanStereoSnk_24_2_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_24_2_2",
                "SingleDev_TwoChanStereoSnk_16_2_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_16_2_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_16_2_2",
                "SingleDev_TwoChanStereoSnk_16_2_2",
                "SingleDev_TwoChanStereoSnk_16_1_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_16_1_Server_Preferred",
                "SingleDev_TwoChanStereoSnk_16_1_2",
                "SingleDev_TwoChanStereoSnk_16_1_2",
                "SingleDev_OneChanMonoSnk_48_4_Server_Preferred",
                "SingleDev_OneChanMonoSnk_48_4_Server_Preferred",
                "SingleDev_OneChanMonoSnk_48_4_2",
                "SingleDev_OneChanMonoSnk_48_4_2",
                "SingleDev_OneChanMonoSnk_24_2_Server_Preferred",
                "SingleDev_OneChanMonoSnk_24_2_2",
                "SingleDev_OneChanMonoSnk_16_2_Server_Preferred",
                "SingleDev_OneChanMonoSnk_16_2_Server_Preferred",
                "SingleDev_OneChanMonoSnk_16_2_2",
                "SingleDev_OneChanMonoSnk_16_2_2",
                "SingleDev_OneChanMonoSnk_16_1_Server_Preferred",
                "SingleDev_OneChanMonoSnk_16_1_Server_Preferred",
+1 −1
Original line number Original line Diff line number Diff line
@@ -208,7 +208,7 @@ bool IsLc3SettingSupported(LeAudioContextType context_type, Lc3SettingId id) {
    case LeAudioContextType::MEDIA:
    case LeAudioContextType::MEDIA:
      if (id == Lc3SettingId::LC3_16_1 || id == Lc3SettingId::LC3_16_2 ||
      if (id == Lc3SettingId::LC3_16_1 || id == Lc3SettingId::LC3_16_2 ||
          id == Lc3SettingId::LC3_48_4 || id == Lc3SettingId::LC3_48_2 ||
          id == Lc3SettingId::LC3_48_4 || id == Lc3SettingId::LC3_48_2 ||
          id == Lc3SettingId::LC3_VND_1)
          id == Lc3SettingId::LC3_VND_1 || id == Lc3SettingId::LC3_24_2)
        return true;
        return true;


      break;
      break;
+1 −0
Original line number Original line Diff line number Diff line
@@ -172,6 +172,7 @@ constexpr uint32_t kLeAudioLocationStereo =
/* Octets Per Frame */
/* Octets Per Frame */
constexpr uint16_t kLeAudioCodecLC3FrameLen30 = 30;
constexpr uint16_t kLeAudioCodecLC3FrameLen30 = 30;
constexpr uint16_t kLeAudioCodecLC3FrameLen40 = 40;
constexpr uint16_t kLeAudioCodecLC3FrameLen40 = 40;
constexpr uint16_t kLeAudioCodecLC3FrameLen60 = 60;
constexpr uint16_t kLeAudioCodecLC3FrameLen120 = 120;
constexpr uint16_t kLeAudioCodecLC3FrameLen120 = 120;


}  // namespace codec_spec_conf
}  // namespace codec_spec_conf