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

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

Merge "leaudio/json: Add way to provide QoS for Sink and Source"

parents d3dad0e0 fdc7ad32
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -80,7 +80,7 @@ table QosConfiguration {
table AudioSetConfiguration {
table AudioSetConfiguration {
    name: string (key, required);
    name: string (key, required);
    codec_config_name: string (required);
    codec_config_name: string (required);
    qos_config_name: string (required);
    qos_config_name: [string] (required);
}
}
table AudioSetConfigurations {
table AudioSetConfigurations {
    _comments_: [string];
    _comments_: [string];
+66 −66
Original line number Original line Diff line number Diff line
@@ -45,332 +45,332 @@
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_1_Server_Preferred",
            "name": "DualDev_OneChanStereoSnk_16_1_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_1_1",
            "name": "DualDev_OneChanStereoSnk_16_1_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_1_2",
            "name": "DualDev_OneChanStereoSnk_16_1_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_2_Server_Preferred",
            "name": "DualDev_OneChanStereoSnk_16_2_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_2_1",
            "name": "DualDev_OneChanStereoSnk_16_2_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_16_2_2",
            "name": "DualDev_OneChanStereoSnk_16_2_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_1_Server_Preferred",
            "name": "SingleDev_OneChanStereoSnk_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_1_1",
            "name": "SingleDev_OneChanStereoSnk_16_1_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_1_2",
            "name": "SingleDev_OneChanStereoSnk_16_1_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_2_Server_Preferred",
            "name": "SingleDev_OneChanStereoSnk_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_2_1",
            "name": "SingleDev_OneChanStereoSnk_16_2_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_16_2_2",
            "name": "SingleDev_OneChanStereoSnk_16_2_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_1_Server_Preferred",
            "name": "SingleDev_TwoChanStereoSnk_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_1_1",
            "name": "SingleDev_TwoChanStereoSnk_16_1_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_1_2",
            "name": "SingleDev_TwoChanStereoSnk_16_1_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_2_Server_Preferred",
            "name": "SingleDev_TwoChanStereoSnk_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_2_1",
            "name": "SingleDev_TwoChanStereoSnk_16_2_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_16_2_2",
            "name": "SingleDev_TwoChanStereoSnk_16_2_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_1_Server_Preferred",
            "name": "SingleDev_OneChanMonoSnk_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_1_1",
            "name": "SingleDev_OneChanMonoSnk_16_1_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_1_2",
            "name": "SingleDev_OneChanMonoSnk_16_1_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_2_Server_Preferred",
            "name": "SingleDev_OneChanMonoSnk_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_2_1",
            "name": "SingleDev_OneChanMonoSnk_16_2_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_16_2_2",
            "name": "SingleDev_OneChanMonoSnk_16_2_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_2",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_2",
            "name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_1",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_1",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_2",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1_2",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_1",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_1",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_2",
            "name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2_2",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "DualDev_OneChanDoubleStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_1",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_2",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_1",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_2",
            "name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_2",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_2",
            "name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_2"
            "qos_config_name": ["QoS_Config_16_2_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_1",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_1"
            "qos_config_name": ["QoS_Config_16_1_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_2",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_1",
            "qos_config_name": "QoS_Config_16_1_2"
            "qos_config_name": ["QoS_Config_16_1_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_1",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2",
            "qos_config_name": "QoS_Config_16_2_1"
            "qos_config_name": ["QoS_Config_16_2_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_2",
            "name": "SingleDev_OneChanMonoSnk_OneChanMonoSrc_16_2_2",
            "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_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",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_48_4_1",
            "name": "DualDev_OneChanStereoSnk_48_4_1",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_1"
            "qos_config_name": ["QoS_Config_48_4_1"]
        },
        },
        {
        {
            "name": "DualDev_OneChanStereoSnk_48_4_2",
            "name": "DualDev_OneChanStereoSnk_48_4_2",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
            "codec_config_name": "DualDev_OneChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_2"
            "qos_config_name": ["QoS_Config_48_4_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_48_4_Server_Preferred",
            "name": "SingleDev_OneChanStereoSnk_48_4_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_48_4_1",
            "name": "SingleDev_OneChanStereoSnk_48_4_1",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_1"
            "qos_config_name": ["QoS_Config_48_4_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanStereoSnk_48_4_2",
            "name": "SingleDev_OneChanStereoSnk_48_4_2",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_2"
            "qos_config_name": ["QoS_Config_48_4_2"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_48_4_Server_Preferred",
            "name": "SingleDev_TwoChanStereoSnk_48_4_Server_Preferred",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_48_4_1",
            "name": "SingleDev_TwoChanStereoSnk_48_4_1",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_1"
            "qos_config_name": ["QoS_Config_48_4_1"]
        },
        },
        {
        {
            "name": "SingleDev_TwoChanStereoSnk_48_4_2",
            "name": "SingleDev_TwoChanStereoSnk_48_4_2",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "codec_config_name": "SingleDev_TwoChanStereoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_2"
            "qos_config_name": ["QoS_Config_48_4_2"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_48_4_Server_Preferred",
            "name": "SingleDev_OneChanMonoSnk_48_4_Server_Preferred",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "qos_config_name": "QoS_Config_Server_Preferred"
            "qos_config_name": ["QoS_Config_Server_Preferred"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_48_4_1",
            "name": "SingleDev_OneChanMonoSnk_48_4_1",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_1"
            "qos_config_name": ["QoS_Config_48_4_1"]
        },
        },
        {
        {
            "name": "SingleDev_OneChanMonoSnk_48_4_2",
            "name": "SingleDev_OneChanMonoSnk_48_4_2",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "codec_config_name": "SingleDev_OneChanMonoSnk_48_4",
            "qos_config_name": "QoS_Config_48_4_2"
            "qos_config_name": ["QoS_Config_48_4_2"]
        }
        }
    ],
    ],
    "codec_configurations": [
    "codec_configurations": [
+54 −10
Original line number Original line Diff line number Diff line
@@ -238,24 +238,62 @@ struct AudioSetConfigurationProviderJson {
      std::vector<const bluetooth::le_audio::CodecConfiguration*>* codec_cfgs,
      std::vector<const bluetooth::le_audio::CodecConfiguration*>* codec_cfgs,
      std::vector<const bluetooth::le_audio::QosConfiguration*>* qos_cfgs) {
      std::vector<const bluetooth::le_audio::QosConfiguration*>* qos_cfgs) {
    std::vector<SetConfiguration> subconfigs;
    std::vector<SetConfiguration> subconfigs;
    QosConfigSetting qos;
    QosConfigSetting qos_sink;
    QosConfigSetting qos_source;
    const bluetooth::le_audio::CodecConfiguration* codec_cfg = NULL;
    const bluetooth::le_audio::CodecConfiguration* codec_cfg = NULL;
    const bluetooth::le_audio::QosConfiguration* qos_cfg = NULL;
    const bluetooth::le_audio::QosConfiguration* qos_sink_cfg = NULL;
    const bluetooth::le_audio::QosConfiguration* qos_source_cfg = NULL;


    const char* codec_config_key = flat_cfg->codec_config_name()->c_str();
    const char* codec_config_key = flat_cfg->codec_config_name()->c_str();
    const char* qos_config_key = flat_cfg->qos_config_name()->c_str();
    auto* qos_config_key_array = flat_cfg->qos_config_name();

    char default_qos[] = "QoS_Config_Server_Preferred";

    const char* qos_sink_key = default_qos;
    const char* qos_source_key = default_qos;

    /* We expect maximum two QoS settings. First for Sink and second for Source
     */
    if (qos_config_key_array->size() > 0) {
      qos_sink_key = qos_config_key_array->Get(0)->c_str();
      if (qos_config_key_array->size() > 1) {
        qos_source_key = qos_config_key_array->Get(1)->c_str();
      } else {
        qos_source_key = qos_sink_key;
      }
    }

    LOG_DEBUG("Config name %s, qos_sink %s, qos_source %s", codec_config_key,
              qos_sink_key, qos_source_key);


    for (auto i = qos_cfgs->begin(); i != qos_cfgs->end(); ++i) {
    for (auto i = qos_cfgs->begin(); i != qos_cfgs->end(); ++i) {
      if (0 == strcmp((*i)->name()->c_str(), qos_config_key)) {
      if (0 == strcmp((*i)->name()->c_str(), qos_sink_key)) {
        qos_cfg = *i;
        qos_sink_cfg = *i;
        break;
        break;
      }
      }
    }
    }
    if (qos_cfg != NULL) {

      qos.retransmission_number = qos_cfg->retransmission_number();
    for (auto i = qos_cfgs->begin(); i != qos_cfgs->end(); ++i) {
      qos.max_transport_latency = qos_cfg->max_transport_latency();
      if (0 == strcmp((*i)->name()->c_str(), qos_source_key)) {
        qos_source_cfg = *i;
        break;
      }
    }

    if (qos_sink_cfg != NULL) {
      qos_sink.retransmission_number = qos_sink_cfg->retransmission_number();
      qos_sink.max_transport_latency = qos_sink_cfg->max_transport_latency();
    } else {
    } else {
      LOG_ERROR("No qos config matching key %s found", qos_config_key);
      LOG_ERROR("No qos config matching key %s found", qos_sink_key);
    }

    if (qos_source_cfg != NULL) {
      qos_source.retransmission_number =
          qos_source_cfg->retransmission_number();
      qos_source.max_transport_latency =
          qos_source_cfg->max_transport_latency();
    } else {
      LOG_ERROR("No qos config matching key %s found", qos_source_key);
    }
    }


    for (auto i = codec_cfgs->begin(); i != codec_cfgs->end(); ++i) {
    for (auto i = codec_cfgs->begin(); i != codec_cfgs->end(); ++i) {
@@ -267,7 +305,13 @@ struct AudioSetConfigurationProviderJson {
    if (codec_cfg != NULL && codec_cfg->subconfigurations()) {
    if (codec_cfg != NULL && codec_cfg->subconfigurations()) {
      /* Load subconfigurations */
      /* Load subconfigurations */
      for (auto subconfig : *codec_cfg->subconfigurations()) {
      for (auto subconfig : *codec_cfg->subconfigurations()) {
        subconfigs.push_back(SetConfigurationFromFlatSubconfig(subconfig, qos));
        if (subconfig->direction() == le_audio::types::kLeAudioDirectionSink) {
          subconfigs.push_back(
              SetConfigurationFromFlatSubconfig(subconfig, qos_sink));
        } else {
          subconfigs.push_back(
              SetConfigurationFromFlatSubconfig(subconfig, qos_source));
        }
      }
      }
    } else {
    } else {
      if (codec_cfg == NULL) {
      if (codec_cfg == NULL) {