diff options
author | Pali Rohár <pali.rohar@gmail.com> | 2019-04-06 11:16:01 +0200 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2019-04-12 15:09:49 +0300 |
commit | 1b6e5b8554c46c7a228a9c0d65d287ac0e823b83 (patch) | |
tree | 2fc930d9018de8cabe6d522a262011faa73cf060 | |
parent | 63add82c82df6da35643f15079f281145ee73745 (diff) | |
download | pulseaudio-1b6e5b8554c46c7a228a9c0d65d287ac0e823b83.tar.gz |
bluetooth: Set correct endianity of audio samples for SBC codec
Pulseaudio SBC codec defines that audio samples are in PA_SAMPLE_S16LE
format which is little endian. But libsbc library expects audio samples by
default in host endianity which is big endian on big endian system. So SBC
support on big endian system is broken. To fix this problem tell libsbc
library that audio samples are in little endian to match PA_SIMPLE_S16LE
sample format.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=91359
-rw-r--r-- | src/modules/bluetooth/a2dp-codec-sbc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/modules/bluetooth/a2dp-codec-sbc.c b/src/modules/bluetooth/a2dp-codec-sbc.c index 290077c7..cdc20d7f 100644 --- a/src/modules/bluetooth/a2dp-codec-sbc.c +++ b/src/modules/bluetooth/a2dp-codec-sbc.c @@ -314,6 +314,7 @@ static void set_params(struct sbc_info *sbc_info) { sbc_info->sbc.mode = sbc_info->mode; sbc_info->sbc.allocation = sbc_info->allocation; sbc_info->sbc.bitpool = sbc_info->initial_bitpool; + sbc_info->sbc.endian = SBC_LE; sbc_info->codesize = sbc_get_codesize(&sbc_info->sbc); sbc_info->frame_length = sbc_get_frame_length(&sbc_info->sbc); |