pipewire/spa/plugins/bluez5
Pauli Virtanen 9d7d3599db bluez5: output silence if no data for some ISO sinks
When a sink contributing to an ISO CIG does not have data, output
silence for it, as long as at least one sink in the CIG is running.
Only if writes to sockets fail, pause all streams to reset
synchronization.

This way we write exactly the same number of packets for each CIS at the
same time, which probably is the best tested configuration in BT
adapters and devices. We also don't then have to pause output if some
sinks are not running or miss their timing, as we generate silence on
the fly.

When using iso-io, have it initialize the codec instance, and have
media-sink uses that instance, so that silence and actual audio are
encoded with the same codec.
2023-04-14 22:29:03 +03:00
..
a2dp-codec-aac.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-aptx.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-caps.h bluez5: add opus-a2dp-0.5 caps 2022-07-19 13:44:56 +00:00
a2dp-codec-faststream.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-lc3plus.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-ldac.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-opus.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
a2dp-codec-sbc.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
backend-hsphfpd.c bluez5: hsphfpd: make transport acquire async 2023-03-17 16:56:31 +00:00
backend-native.c bluez5: backend-native: add two missing OK HFP replies 2023-04-08 11:05:06 +00:00
backend-ofono.c bluez5: ofono: set transport state on synchronous acquire/release 2023-03-17 16:56:31 +00:00
bap-codec-caps.h bluez5: set BAP channel location from transport if unset 2023-04-10 07:00:44 +00:00
bap-codec-lc3.c bluez5: lc3: use high-reliability QoS defaults 2023-04-12 10:12:00 +00:00
bluez-hardware.conf bluez5: Disable hw-volume for Soundcore Motion B 2022-08-01 19:34:39 +00:00
bluez5-dbus.c bluez5: output silence if no data for some ISO sinks 2023-04-14 22:29:03 +03:00
bluez5-device.c bluez5: emit BAP device set nodes as needed 2023-04-10 07:00:44 +00:00
codec-loader.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
codec-loader.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
dbus-monitor.c bluez5: fix glib signal disconnect 2023-04-14 20:06:57 +03:00
dbus-monitor.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
decode-buffer.h bluez5: split rate control out of decode-buffer 2023-04-03 16:35:22 +00:00
defs.h bluez5: parse device set information via dbus 2023-04-10 07:00:44 +00:00
hci.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
iso-io.c bluez5: output silence if no data for some ISO sinks 2023-04-14 22:29:03 +03:00
iso-io.h bluez5: output silence if no data for some ISO sinks 2023-04-14 22:29:03 +03:00
media-codecs.c bluez5: lc3: handle multiple PACs in capabilities 2023-01-17 19:58:42 +02:00
media-codecs.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
media-sink.c bluez5: output silence if no data for some ISO sinks 2023-04-14 22:29:03 +03:00
media-source.c bluez5: emit BAP device set nodes as needed 2023-04-10 07:00:44 +00:00
meson.build bluez5: add spa_bt_iso_io that does the low-level part for ISO 2023-04-03 16:35:22 +00:00
midi-enum.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
midi-node.c spa: reuse code to clear the timers 2023-03-24 17:55:15 +01:00
midi-parser.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
midi-server.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
midi.h spa: bluez: include gio/gunixfdlist.h 2023-02-16 20:55:55 +01:00
modemmanager.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
modemmanager.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
org.bluez.xml bluez5: add GDBus-based object monitor framework 2023-01-24 08:27:56 +00:00
player.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
player.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
plugin.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
quirks.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
rate-control.h bluez5: split rate control out of decode-buffer 2023-04-03 16:35:22 +00:00
README-MIDI.md bluez5: fixup BLE MIDI selinux README 2023-01-24 08:27:56 +00:00
README-OPUS-A2DP.md bluez5: clarify OPUS-A2DP spec 2022-09-03 19:08:27 +00: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: use nonblocking i/o for SCO 2023-03-18 16:08:36 +02:00
sco-sink.c spa: reuse code to clear the timers 2023-03-24 17:55:15 +01:00
sco-source.c spa: reuse code to clear the timers 2023-03-24 17:55:15 +01:00
test-midi.c bluez5: a few more -Werror=strict-prototypes fixes 2023-01-24 11:14:27 +02:00
upower.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
upower.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00