07-03-2023, 10:39 PM
(This post was last modified: 07-03-2023, 10:42 PM by jenzd.
Edit Reason: clarification
)
A fallback is implemented and appears to work (see https://github.com/arkq/bluez-alsa/blob/...-sbc.c#L60):
and a few lines later
My bluetooth speaker JBL Flip 6 (in fact a mono device) does not seem to support XQ/XQ+ mode and falls back to joint stereo (i.e. high quality).
Best regards
Jens
Code:
if (quality == SBC_QUALITY_XQ ||
quality == SBC_QUALITY_XQPLUS) {
/* Check whether XQ/XQ+ is possible. If not,
* downgrade to high quality. */
if (conf->frequency == SBC_SAMPLING_FREQ_44100 &&
conf->channel_mode == SBC_CHANNEL_MODE_DUAL_CHANNEL &&
conf->block_length == SBC_BLOCK_LENGTH_16 &&
conf->subbands == SBC_SUBBANDS_8 &&
conf->allocation_method == SBC_ALLOCATION_LOUDNESS)
bitpool = quality == SBC_QUALITY_XQ ? 38 : 47;
else {
warn("Unable to use SBC %s, downgrading to high quality",
quality == SBC_QUALITY_XQ ? "XQ" : "XQ+");
quality = SBC_QUALITY_HIGH;
}
}
and a few lines later
Code:
/* Clamp selected bit-pool value to supported range. */
return MIN(MAX(conf->min_bitpool, bitpool), conf->max_bitpool);
My bluetooth speaker JBL Flip 6 (in fact a mono device) does not seem to support XQ/XQ+ mode and falls back to joint stereo (i.e. high quality).
Best regards
Jens