pipewire/spa/plugins/bluez5
Pauli Virtanen aa06c547d9 bluez5: align audio output of all BAP sinks
Make BAP nodes align the first sample of their packets at multiples of
the ISO interval, counted in the shared graph sample position.  This
skips a few samples (< 10ms) at the start of playback to ensure the
alignment.

Since the sinks align their flush timing to the graph time, this also
results to them sending packets corresponding to the same graph time at
the same real time instants.

Due to packet queues in kernel/controller, the playback may still be off
by multiples of packets. Kernel changes are needed to address that part.

This works towards making BAP left and right channels to be
synchronized in TWS headsets, where the two earpieces currently appear
as different devices.
2023-03-19 19:18:10 +02: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: make SCO acquire asynchronous 2023-03-18 16:10:18 +02: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 treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
bap-codec-lc3.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +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: don't try to acquire if we are getting errors 2023-03-18 15:39:56 +02:00
bluez5-device.c bluez5: ensure nodes are removed on disconnect 2023-03-16 19:42:31 +02: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 treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
dbus-monitor.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
decode-buffer.h bluez5: media-source: allow using bigger A2DP receive buffers 2023-02-22 20:20:07 +02:00
defs.h bluez5: don't try to acquire if we are getting errors 2023-03-18 15:39:56 +02:00
hci.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00: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: align audio output of all BAP sinks 2023-03-19 19:18:10 +02:00
media-source.c bluez5: change sink/source run state follow transport state 2023-03-17 16:56:31 +00:00
meson.build bluez5: fix dependency checking 2023-02-05 09:36:45 +00:00
midi-enum.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
midi-node.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00: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
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 bluez5: change sink/source run state follow transport state 2023-03-17 16:56:31 +00:00
sco-source.c bluez5: change sink/source run state follow transport state 2023-03-17 16:56:31 +00: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