Using a probe connection to determine adapter msbc capability causes
problems on some adapters (ff8c3d2, 84bc0490a5, 717004334b,
pipewire#2030) and seems to be a bad idea.
Go back to probing for transparent msbc transport capability via HCI
commands. bluetooth/hci.h may be deprecated later, but for now it's
better to go back to using it. (In practice, adapters not supporting
esco appear to be fairly rare; kernel commit in 2013 refers to "older
devices", so if we can't use HCI, assume the adapter supports the
necessary modes.)
For now, put a limit on the amount of items we can send and receive
over the native protocol. A more complex way of allocating and freeing
can be implemented later when we really need to raise the limits.
Fixes#2070
pipewire will allocate buffers aligned to the max alignment required for
the CPU. Take this into account and don't expect larger alignment.
Fixes a warning in mixer-dsp when the CPU max alignment is 16 but the
plugin requires 32 bytes alignment for the AVX2 path (that would never
be chosen on the CPU).
See #2074
Enable SBC-XQ codec for the JBL Endurance RUN BT headset. The codec worked well
with pulseaudio and works equally well with pipewire.
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
This should catch any potential issues with conflicting options, missing
libraries, etc.
We need to disable aptx and roc because Fedora doesn't ship those
libraries, and we disable libcamera because it's a moving target and
shouldn't hold up the pipeline.
We must use the serial for generating the uuid.
We use the serial for the port_id and jack_port_uuid_generate() can
be used to turn that into a uuid. So all mappings to and from
uuid need to be with serials.
Do pattern matching on object properties to also allow lookups on
type, object.path, object.serial and <type>.name.
ex:
pw-dump alsa_card.usb-BEHRINGER_UMC404HD_192k-00
pw-dump alsa_input*
pw-dump Node
When a node that requires a driver is moved to a driver, collect all
linked nodes and move them to the driver as well.
This fixes the case where a single jack node (zita-n2j) is linked to
paplay. The zita-n2j node is moved to the dummy driver but paplay is not
and so nothing happens before this patch.
Commit fa64d93e64 moved the atomic_dep
from pipewire-jack to pipewire_dep however atomic_dep should also be
added to spa_dev to avoid the following build failure when building
examples (which don't depend on pipewire_dep):
FAILED: spa/examples/adapter-control
/home/buildroot/autobuild/instance-0/output-1/host/bin/sparc-linux-gcc -o spa/examples/adapter-control spa/examples/adapter-control.p/adapter-control.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--start-group -lintl -ldl -pthread -lm -Wl,--end-group
/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: spa/examples/adapter-control.p/adapter-control.c.o: in function `spa_graph_node_trigger':
adapter-control.c:(.text+0xdf4): undefined reference to `__atomic_fetch_sub_4'
Fixes:
- http://autobuild.buildroot.org/results/192f40a5c6e05fc11507494e19db52a47082fc35
We should always advance the read pointer when we are underrun and
not corked. This will request more bytes from the client to make
things advance.
Fixes#2041