pipewire/spa/plugins/bluez5
Pauli Virtanen 24fd273820 bluez5: backend-ofono: don't do codec probe connections + add wait
Codec probe connections can trigger bad behavior from oFono if done when
device is busy (e.g. at connect), and they might be done at the same
time as A2DP transport is acquired which cannot work.

Also, oFono will not reply to DBus Acquire, if device does not complete
codec negotiation correctly. This is most likely to happen just after
device connect, when it is busy with other stuff (eg A2DP).

Remove codec probe connections altogether: instead, we guess mSBC if
mSBC is enabled and otherwise CVSD. If the guess turns out to be wrong,
which is unlikely (almost all devices have mSBC), we recreate the
transport with correct codec (from main loop, must not be done in
*_acquire because that can destroy nodes + unload the spa libs while
we're being called from there).

To avoid oFono DBus hangs at startup, add delay before marking the
profile connected, enforcing a time difference to A2DP operations.
2022-03-05 17:46:40 +00:00
..
a2dp-codec-aac.c bluez5: tolerate devices sending incorrect AAC caps 2021-10-02 10:29:48 +00:00
a2dp-codec-aptx.c bluez5: fix aptx-ll caps size 2021-12-11 17:20:39 +02:00
a2dp-codec-caps.h bluez5: split A2DP codecs to separate SPA plugins 2021-09-03 20:40:30 +03:00
a2dp-codec-faststream.c bluez5: fix FastStream microphone support on some devices 2021-09-25 16:27:57 +00:00
a2dp-codec-ldac.c bluez5: split A2DP codecs to separate SPA plugins 2021-09-03 20:40:30 +03:00
a2dp-codec-sbc.c bluez5: split A2DP codecs to separate SPA plugins 2021-09-03 20:40:30 +03:00
a2dp-codecs.c bluez5: split A2DP codecs to separate SPA plugins 2021-09-03 20:40:30 +03:00
a2dp-codecs.h bluez5: make codec loading compatible with old conf files 2021-09-06 18:04:35 +03:00
a2dp-sink.c buffers: make alignment optional 2022-01-03 12:32:26 +01:00
a2dp-source.c buffers: make alignment optional 2022-01-03 12:32:26 +01:00
backend-hsphfpd.c bluez5: require adapter before profile connect & after 2022-01-20 18:18:09 +00:00
backend-native.c treewide: only define feature macros when the feature is available 2022-02-04 00:15:59 +01:00
backend-ofono.c bluez5: backend-ofono: don't do codec probe connections + add wait 2022-03-05 17:46:40 +00:00
bluez-hardware.conf spa/bluez: enable sbc-xq for JBL Endurance Run BT headset 2022-01-28 07:58:22 +00:00
bluez5-dbus.c bluez5: backend-ofono: don't do codec probe connections + add wait 2022-03-05 17:46:40 +00:00
bluez5-device.c bluez5: keepalive A2DP source / SCO AG dynamic node transports 2022-01-31 21:59:39 +02:00
codec-loader.c bluez5: prefer aptx-ll over faststream 2022-01-03 15:23:55 +00:00
codec-loader.h bluez5: split A2DP codecs to separate SPA plugins 2021-09-03 20:40:30 +03:00
defs.h bluez5: backend-ofono: don't do codec probe connections + add wait 2022-03-05 17:46:40 +00:00
hci.c bluez5: probe adapter msbc capability via hci commands 2022-01-30 22:00:32 +02:00
meson.build treewide: meson.build: use feature.allowed() 2022-02-04 00:15:59 +01:00
player.c bluez5: free player path 2022-01-03 10:41:00 +01:00
player.h bluez5: add a dummy AVRCP player as a workaround 2021-10-10 16:24:41 +03:00
plugin.c monitor: remove monitor API and use device 2019-09-20 13:04:14 +02:00
quirks.c bluez5: handle missing device and adapter in quirks 2022-01-11 21:33:35 +01:00
README-SBC-XQ.md bluez5: add SBC XQ readme 2021-01-07 09:54:16 +01:00
rtp.h Add bluez5 plugins 2018-01-16 15:19:55 +01:00
sco-io.c bluez5: sco-io: start writing only after the packet size is known 2021-07-11 16:14:03 +00:00
sco-sink.c bluez5: sco-sink: fix behavior as follower 2022-01-31 21:59:39 +02:00
sco-source.c buffers: make alignment optional 2022-01-03 12:32:26 +01:00