Gabriel Ebner
392fcda01f
a2dp: add aac encoder
2020-12-23 06:15:15 +00:00
Mauricio Collares
d466cffe23
Revert "port a2dp-source.c changes to sco-source.c"
...
This reverts commit 3ad39d83a1 .
2020-12-22 22:05:23 -03:00
Wim Taymans
a8937413e6
acp: add options to disable profile and port switching
...
See #498
2020-12-22 13:08:14 +01:00
Wim Taymans
948255f801
result: don't use undefined shift
...
Use a different way to generate the upper bits of the ASYNC mask
instead of undefined shift as warned by sanitizer
Add some unit test for this
See #497
2020-12-21 21:08:56 +01:00
Wim Taymans
08ba6097a1
loop: align buffer and invoke_items to 8 bytes
...
To avoid unaligned access messages from sanitizer
See #497
2020-12-21 20:46:13 +01:00
Wim Taymans
461e3db741
tests: fix some leaks
...
See #497
2020-12-21 20:07:02 +01:00
Wim Taymans
32c015d01e
tests: free resample after usage
...
See #497
2020-12-21 19:52:35 +01:00
Wim Taymans
3c7699980f
tests: make arrays a bit larger
...
See #479
2020-12-21 19:38:53 +01:00
Wim Taymans
16cf174fbc
audiomixer: fix array sizes
2020-12-21 19:34:55 +01:00
Mauricio Collares
a30b7518f3
adapt msbc decoding to a MTU of 48
2020-12-21 10:18:24 +00:00
Mauricio Collares
3ad39d83a1
port a2dp-source.c changes to sco-source.c
2020-12-21 10:18:24 +00:00
Pauli Virtanen
32e861fcf5
ofono: fix wrong name for bluez5.msbc-force-mtu
2020-12-21 06:14:12 +02:00
Pauli Virtanen
f1d9b2317c
sco-sink: adjust data flush timeout for msbc according to packet size
...
Instead of using a hardcoded value for the minimum delay between writes,
select it according to the mtu/packet size that is currently used.
This is necessary for correct playback with lower mtu values.
2020-12-21 04:16:11 +02:00
Pauli Virtanen
4144427655
ofono/hsphfpd: force write_mtu=24 for mSBC codec
...
Kernel should provide the correct mtu/packet size to use for SCO socket
I/O, but it does not currently appear to (as of linux 5.9), see
https://lore.kernel.org/linux-bluetooth/20201210003528.3pmaxvubiwegxmhl@pali/T/
When using mSBC, instead of using the (incorrect) kernel-provided value,
hardcode mtu to 24, corresponding to ALT1 mode. BT-UART adapters should
not require specific mtu, and it appears most BT-USB adapters only
support ALT1, see
https://lore.kernel.org/linux-bluetooth/20201210012003.133000-1-tpiepho@gmail.com/
This code needs to be revised when the issue is sorted out on the kernel
side.
Add setting bluez5.msbc-force-mtu for easier debugging in special cases.
Leave read_mtu as the detected value --- it does not seem to affect
whether BT-USB can record, but Raspberry Pi BT-UART fails to record if a
different value is used.
2020-12-21 04:16:11 +02:00
Huang-Huang Bao
b3bbc62870
a2dp: correct ldac config table
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-20 22:34:51 +08:00
Wim Taymans
2d89ad8533
profiler: add xrun_count and latency to profiler
2020-12-20 12:32:54 +01:00
Walter Lozano
9f766dd708
alsa: add warning in case of partial read/write
...
Currently alsa_read and alsa_write assumes that all the frames committed
using snd_pcm_mmap_commit are read or written, which is probably true.
However, as it could be some corner cases add a warning to notice this
fact.
Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
2020-12-20 00:23:52 -03:00
Huang-Huang Bao
4621792354
a2dp: add missing function abr_process in a2dp_codec_aptx
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-20 04:53:21 +08:00
Huang-Huang Bao
9653d748a3
a2dp: fix a2dp encoding under sampling rate of 88200, 96000
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-19 20:25:49 +08:00
Huang-Huang Bao
16f5058af9
a2dp: add ldac ABR support
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-19 19:17:15 +08:00
Wim Taymans
a25f1a6a1d
acp: pass channelmap around
...
so that we can use it as a default in channelmix
2020-12-18 17:18:53 +01:00
Wim Taymans
c3973fd9ec
pod: add a HINT_DICT flag
...
We can use this to mark the ROUTE_info property and hopefully improve
the debugging output later.
2020-12-18 16:40:35 +01:00
Wim Taymans
9fb1b02352
acp: when we have a device with no port, go to the next device
...
Fixes an issue where a device have no ports and then it would
stop enumerating the ports of the other devices.
2020-12-18 16:28:56 +01:00
Wim Taymans
67d10ad3c7
alsa-acp: collect channelmap from volume update
...
It's not used yet but would ideally need to be used to remap the
volumes.
2020-12-18 16:22:00 +01:00
Wim Taymans
b05dcacc99
alsa-acp: add channel map with soft volume
2020-12-18 16:21:18 +01:00
Wim Taymans
94ec34d138
alsa: rename seq-source -> seq-bridge
2020-12-18 11:28:31 +01:00
Wim Taymans
938e2b1451
v4l2: profiles params are not implement yet
2020-12-17 16:13:19 +01:00
Huang-Huang Bao
161c05d737
a2dp: fix aptx hd codec negotiation
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-17 14:17:37 +00:00
Wim Taymans
cdb6c94c8e
acp: undo upstream change that breaks duplex mode
2020-12-17 13:05:37 +01:00
Wim Taymans
92f4831c9f
bluez5: handle NULL profile, don't run the filter on it
2020-12-17 12:25:38 +01:00
Wim Taymans
d968ab56a5
a2dp: report PARAM_IO, as advertized
2020-12-17 12:25:12 +01:00
Wim Taymans
6e6cd0d684
acp: add new files as well
2020-12-17 12:07:31 +01:00
Wim Taymans
d6530bc0cd
acp: sync with pulseaudio
2020-12-17 12:04:18 +01:00
Wim Taymans
90bdab8414
bluez5: improve param enumeration
...
Return -EIO when we can't enumerate the params
Don't check for end-of-params in a2dp-sink, we do that in the codec.
2020-12-17 11:43:53 +01:00
Wim Taymans
e8dcd7f5f9
acp: sync
...
Remove >2 channel support until upstream
Fix availability groups
2020-12-17 11:03:31 +01:00
Wim Taymans
22c793aa87
v4l2: add inotify support
...
Wait with inotify until we can access the device node before emiting
the new device.
Clean up alsa-udev and make it more like v4l2-udev
2020-12-17 10:43:57 +01:00
Wim Taymans
69da2ec601
alsa: refactor some helpers to add/remove a card
2020-12-17 09:36:19 +01:00
Wim Taymans
9b414b0a9e
a2dp: fix a warning
2020-12-16 19:50:14 +01:00
Huang-Huang Bao
30755c4a44
bluez5: fix ldac stuttering
...
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
2020-12-17 02:29:04 +08:00
Wim Taymans
1636e08368
alsa: first rough attempt at inotify support
...
Wait until the device is accessible before exposing it.
2020-12-16 19:18:32 +01:00
Wim Taymans
05e06f16ba
audioconvert: improve channel remap some more
...
See #461
2020-12-16 12:53:11 +01:00
Wim Taymans
3803055403
audioconvert: remap channels only once
...
for planar formats, we should not remap twice or we undo the
remapping.
See #461
2020-12-16 09:53:29 +01:00
Wim Taymans
13cb51efbd
spa: fix array type info
...
Descend into the type info of the array. Fixes names of channels
in position array.
2020-12-15 16:06:10 +01:00
Marijn Suijten
44882f5ab3
acp: Probe and set up HW volume for cards detected through UCM
...
The codepath `pa_alsa_ucm_add_ports` -> `probe_volumes` ->
`pa_alsa_path_probe` was never called leading to no HW volume being set
up when loading a card through UCM. PulseAudio calls this from
`card_set_profile` -> `pa_alsa_{sink,source}_new`.
2020-12-15 09:36:52 +00:00
Marijn Suijten
d636cadbb8
acp: alsa-ucm: Print iterated path name instead of current path
...
data->path (current path for selected profile) is not set yet here
resulting in segfaults. We are not interested in printing that anyway
but instead care about the iterated `path` from data->paths.
2020-12-15 09:36:52 +00:00
Wim Taymans
0e910a9d03
audioconvert: correctly remap in fmtconvert
...
Only remap channels on the planar buffers.
See #472
2020-12-15 09:47:37 +01:00
Wim Taymans
3ac2bc0ad2
pod: descend in array type if possible
2020-12-14 16:18:57 +01:00
Wim Taymans
7c5cb5a281
param: the position property is an array of channelpositions
2020-12-14 16:18:12 +01:00
Wim Taymans
c61502f57c
acp: rename fields
...
pulseaudio -> pipewire
PULSE_* -> ACP_*
Hopefully this does not interfere with pulseaudio anymore.
See #436
2020-12-14 15:01:05 +01:00
Wim Taymans
1934b0adb9
bluez5: add codec name to node
2020-12-14 13:29:12 +01:00