@jusa / @tomin anything you can share about this?
Is the uplift stalled because of some specific problem, or just due to time?
(I.e. is it in a place where community help would make sense, or just add noise?)
Unfortunately this link seems to be gone as well, any chance you could upload it again somewhere? Would be very appreciated!
https://wdho.ru/7n6c
reupload
Great, thanks a lot!
4.6.0 update modified the file, Iâll recompile later
134488 Mar 19 08:49 /usr/lib64/pulse-14.2/modules/libbluez5-util.so
I wonder if there is any prospect of PA 15 arriving for this?
they have a PA 17 pull request from over a year ago, but still didnât pull it yet.
There is always an open pull requests topic during the community meeting. You can raise it there.
No reason for that. They will do it when they want. My questioning wonât help.
So now that we have the new Jolla phone coming and now that I read through this thread iâm still not entirely sure whether other codecs are available?
I just installed the latest version (LTS, not beta). I still not functional.
Iâll just leave this here.
With SFOS 5.1 now PA 17.0 has landed. With âpactl listâ it appears that (for example with the Sony WH-1000XM4) âsbcâ is used. Same after I re-paired the device. Should Sailfish now automaticaly change to higher quality codecs, if available? Or can we manually allow other Codecs for a Sink to be used if connection quality allows for it?
As far as I can tell, PulseAudio does not do any automatic codec selection. Normally youâd choose the codec in your mixer. The 15.0 release notes say:
Switching the codec can be done on the command line with
pactl send-message /card/bluez_card.XX_XX_XX_XX_XX_XX/bluez switch-codec '"CODEC"'(note the double quotes inside single quotes, this is needed because the server expects the double quotes and without the single quotes the shell would remove the double quotes before the string gets sent to the server). ReplaceXX_XX_XX_XX_XX_XXwith the device address, which can be found for example withLANG=C pactl list cards | grep Name. ReplaceCODECwith one of the available codec names:aptx,aptx_hd,ldac_hq(âHigh Qualityâ),ldac_sq(âStandard Qualityâ),ldac_mq(âMobile Qualityâ),sbc,sbc_xq_453,sbc_xq_512,sbc_xq_552. A list of codecs supported by the device can be obtained withpactl send-message /card/bluez_card.XX_XX_XX_XX_XX_XX/bluez list-codecsand the currently active codec can be queried withpactl send-message /card/bluez_card.XX_XX_XX_XX_XX_XX/bluez get-codec. A simplified way of switching codecs is already implemented in pavucontrol and will be provided with the next pavucontrol release.
Iâm guessing the reason for this is that every codec comes with a tradeoff, so itâs not as simple as choosing the best one and then just downgrading as necessary. What a glorious day it will be when Bluetooth finally grows a bandwidth increase of ~20% and we can just send uncompressed audio.
So someone with some qt-experience can bake a simple codec-selector-app? (Fish-Selector or some name like that
)
I wonder if a re-factored Audio Output Chooser â SailfishOS:Chum, a Sailfish OS software repository by the community audio output selector might do it?
Alright, just updated and gave it a whirl. Iâm pleased to find that I could switch to 552kbps SBC on my headset and not only did it work but something somewhere even remembered the setting when I disconnected and reconnected it. Tried a test call and the sound is now much crisper than it used to be.
Unfortunately the good news end there. PulseAudio seems to have been compiled without LDAC and AptX support. Based on the PA build system Iâm guessing (without knowing jack about Jollaâs build process) that itâs a simple question of missing dependencies.
[defaultuser@lumiere ~]$ ldd `which pulseaudio`
linux-vdso.so.1 (0x0000007ee1bec000)
libpulsecore-17.0.so => /usr/lib64/pulseaudio/libpulsecore-17.0.so (0x0000007ee1ae0000)
libpulsecommon-17.0.so => /usr/lib64/pulseaudio/libpulsecommon-17.0.so (0x0000007ee1a40000)
libpulse.so.0 => /usr/lib64/libpulse.so.0 (0x0000007ee19d0000)
libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x0000007ee19a0000)
libcap.so.2 => /usr/lib64/libcap.so.2 (0x0000007ee1970000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x0000007ee18f0000)
libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x0000007ee1830000)
libc.so.6 => /lib64/libc.so.6 (0x0000007ee1660000)
/lib/ld-linux-aarch64.so.1 (0x0000007ee1baf000)
libm.so.6 => /lib64/libm.so.6 (0x0000007ee15a0000)
libsndfile.so.1 => /usr/lib64/libsndfile.so.1 (0x0000007ee1500000)
liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0 (0x0000007ee13e0000)
libspeexdsp.so.1 => /usr/lib64/libspeexdsp.so.1 (0x0000007ee13a0000)
libasyncns.so.0 => /usr/lib64/libasyncns.so.0 (0x0000007ee1370000)
liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x0000007ee1320000)
libmount.so.1 => /usr/lib64/libmount.so.1 (0x0000007ee1290000)
libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x0000007ee1190000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000007ee1150000)
libogg.so.0 => /usr/lib64/libogg.so.0 (0x0000007ee1120000)
libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x0000007ee1060000)
libFLAC.so.12 => /usr/lib64/libFLAC.so.12 (0x0000007ee0ff0000)
libopus.so.0 => /usr/lib64/libopus.so.0 (0x0000007ee0f70000)
libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x0000007ee0f20000)
libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x0000007ee0ea0000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000007ee0e50000)
On a related note, might it be possible to convince @unmaintained to add support for the opus codec to s1p so I may enjoy my newfound high-ish bitrate Bluetooth connection when yapping with colleagues?
So what was the default bitrate before?
Presumably the default 320kbps, but AFAIK PulseAudio 14 would use CVSD with an 8kHz sampling frequency for my microphone in HSP mode because it would sound absolutely atrocious on my phone and entirely perfect on my PC.
Edit: itâs still stuck on CVSD when in HSP mode and I cannot get it to switch to mSBC. Itâs only doing the right thing in A2DP (ie. playing music, no mic) mode. The headset supports it. It works on my laptop using PipeWire. Unfortunately, most of the PulseAudio information out there right now is actually just using pacmd with PipeWire.
[defaultuser@lumiere ~]$ pactl send-message /card/bluez_card.70_BF_92_D8_DF_0F/bluez list-codecs
[{"name":"CVSD","description":"CVSD"},{"name":"mSBC","description":"mSBC"}]
[defaultuser@lumiere ~]$ pactl send-message /card/bluez_card.70_BF_92_D8_DF_0F/bluez get-codec
"CVSD"
[defaultuser@lumiere ~]$ pactl send-message /card/bluez_card.70_BF_92_D8_DF_0F/bluez switch-codec '"mSBC"'
Send message failed: Invalid argument
Iâm too much of a PA noob and canât even get parecord to produce anything but silence even when I forcibly switch the headset to the handsfree_head_unit profile.
The related option is disabled here:
I donât know why - but when we have 5.1 build targets available, it might be doable to enable and try to build - and see what fails.