[pulseaudio-discuss] [PATCH v6 07/11] bluetooth: Clean up SBC bitpool calculation
Pali Rohár
pali.rohar at gmail.com
Sun Feb 3 14:15:14 UTC 2019
Remove dead code and replace numeric bitpool values by macro definitions.
Maximal bitpool value in fill_capabilities() was reduced from 64 to 53
(SBC_BITPOOL_HQ_JOINT_STEREO_44100) because default_bitpool() already set
maximal value to 53.
This patch does not change SBC behavior as maximal bitpool was already
limited to 53. So it is just clean up.
---
src/modules/bluetooth/a2dp-codec-sbc.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/src/modules/bluetooth/a2dp-codec-sbc.c b/src/modules/bluetooth/a2dp-codec-sbc.c
index 170dfc39d..034d57a69 100644
--- a/src/modules/bluetooth/a2dp-codec-sbc.c
+++ b/src/modules/bluetooth/a2dp-codec-sbc.c
@@ -104,7 +104,7 @@ static uint8_t fill_capabilities(uint8_t capabilities_buffer[254]) {
capabilities->subbands = SBC_SUBBANDS_4 | SBC_SUBBANDS_8;
capabilities->block_length = SBC_BLOCK_LENGTH_4 | SBC_BLOCK_LENGTH_8 | SBC_BLOCK_LENGTH_12 | SBC_BLOCK_LENGTH_16;
capabilities->min_bitpool = SBC_MIN_BITPOOL;
- capabilities->max_bitpool = 64;
+ capabilities->max_bitpool = SBC_BITPOOL_HQ_JOINT_STEREO_44100;
return sizeof(*capabilities);
}
@@ -158,41 +158,38 @@ static uint8_t default_bitpool(uint8_t freq, uint8_t mode) {
switch (freq) {
case SBC_SAMPLING_FREQ_16000:
case SBC_SAMPLING_FREQ_32000:
- return 53;
+ switch (mode) {
+ case SBC_CHANNEL_MODE_MONO:
+ case SBC_CHANNEL_MODE_DUAL_CHANNEL:
+ case SBC_CHANNEL_MODE_STEREO:
+ case SBC_CHANNEL_MODE_JOINT_STEREO:
+ return SBC_BITPOOL_HQ_JOINT_STEREO_44100;
+ }
case SBC_SAMPLING_FREQ_44100:
-
switch (mode) {
case SBC_CHANNEL_MODE_MONO:
case SBC_CHANNEL_MODE_DUAL_CHANNEL:
- return 31;
+ return SBC_BITPOOL_HQ_MONO_44100;
case SBC_CHANNEL_MODE_STEREO:
case SBC_CHANNEL_MODE_JOINT_STEREO:
- return 53;
+ return SBC_BITPOOL_HQ_JOINT_STEREO_44100;
}
- pa_log_warn("Invalid channel mode %u", mode);
- return 53;
-
case SBC_SAMPLING_FREQ_48000:
-
switch (mode) {
case SBC_CHANNEL_MODE_MONO:
case SBC_CHANNEL_MODE_DUAL_CHANNEL:
- return 29;
+ return SBC_BITPOOL_HQ_MONO_48000;
case SBC_CHANNEL_MODE_STEREO:
case SBC_CHANNEL_MODE_JOINT_STEREO:
- return 51;
+ return SBC_BITPOOL_HQ_JOINT_STEREO_48000;
}
-
- pa_log_warn("Invalid channel mode %u", mode);
- return 51;
}
- pa_log_warn("Invalid sampling freq %u", freq);
- return 53;
+ pa_assert_not_reached();
}
static uint8_t fill_preferred_configuration(const pa_sample_spec *default_sample_spec, const uint8_t *capabilities_buffer, uint8_t capabilities_size, uint8_t config_buffer[254]) {
--
2.11.0
More information about the pulseaudio-discuss
mailing list