Skip to content

Commit 3a8977f

Browse files
alexsvenkoffes
authored andcommitted
applications: nrf5340_audio: Use same preset for both unicast_servers
- When configuring QoS we need the same PD for both unicast_servers - Old bug overwrote the PD with the one from the preset - OCT-3398 Signed-off-by: Alexander Svensen <[email protected]>
1 parent 3a29870 commit 3a8977f

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_client.c

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,11 @@ static bool sink_parse_cb(struct bt_data *data, void *user_data)
447447
switch (CONFIG_BT_AUDIO_PREF_SAMPLE_RATE_VALUE) {
448448
case BT_AUDIO_CODEC_CFG_FREQ_48KHZ:
449449
if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_48KHZ) {
450-
lc3_preset_sink = lc3_preset_sink_48_4_1;
450+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
451+
BT_AUDIO_CODEC_CFG_FREQ_48KHZ) {
452+
lc3_preset_sink = lc3_preset_sink_48_4_1;
453+
}
454+
451455
*(bool *)user_data = true;
452456
/* Found what we were looking for, stop parsing LTV */
453457
return false;
@@ -457,7 +461,10 @@ static bool sink_parse_cb(struct bt_data *data, void *user_data)
457461

458462
case BT_AUDIO_CODEC_CFG_FREQ_24KHZ:
459463
if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_24KHZ) {
460-
lc3_preset_sink = lc3_preset_sink_24_2_1;
464+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
465+
BT_AUDIO_CODEC_CFG_FREQ_24KHZ) {
466+
lc3_preset_sink = lc3_preset_sink_24_2_1;
467+
}
461468
*(bool *)user_data = true;
462469
/* Found what we were looking for, stop parsing LTV */
463470
return false;
@@ -467,7 +474,10 @@ static bool sink_parse_cb(struct bt_data *data, void *user_data)
467474

468475
case BT_AUDIO_CODEC_CFG_FREQ_16KHZ:
469476
if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_16KHZ) {
470-
lc3_preset_sink = lc3_preset_sink_16_2_1;
477+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
478+
BT_AUDIO_CODEC_CFG_FREQ_16KHZ) {
479+
lc3_preset_sink = lc3_preset_sink_16_2_1;
480+
}
471481
*(bool *)user_data = true;
472482
/* Found what we were looking for, stop parsing LTV */
473483
return false;
@@ -478,13 +488,22 @@ static bool sink_parse_cb(struct bt_data *data, void *user_data)
478488

479489
/* If no match with the preferred, revert to trying highest first */
480490
if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_48KHZ) {
481-
lc3_preset_sink = lc3_preset_sink_48_4_1;
491+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
492+
BT_AUDIO_CODEC_CFG_FREQ_48KHZ) {
493+
lc3_preset_sink = lc3_preset_sink_48_4_1;
494+
}
482495
*(bool *)user_data = true;
483496
} else if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_24KHZ) {
484-
lc3_preset_sink = lc3_preset_sink_24_2_1;
497+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
498+
BT_AUDIO_CODEC_CFG_FREQ_24KHZ) {
499+
lc3_preset_sink = lc3_preset_sink_24_2_1;
500+
}
485501
*(bool *)user_data = true;
486502
} else if (lc3_freq_bit & BT_AUDIO_CODEC_CAP_FREQ_16KHZ) {
487-
lc3_preset_sink = lc3_preset_sink_16_2_1;
503+
if (bt_audio_codec_cfg_get_freq(&lc3_preset_sink.codec_cfg) !=
504+
BT_AUDIO_CODEC_CFG_FREQ_16KHZ) {
505+
lc3_preset_sink = lc3_preset_sink_16_2_1;
506+
}
488507
*(bool *)user_data = true;
489508
}
490509

0 commit comments

Comments
 (0)