Commit graph

5159 commits

Author SHA1 Message Date
Wim Taymans
a8937413e6 acp: add options to disable profile and port switching
See #498
2020-12-22 13:08:14 +01:00
Pauli Virtanen
09265e116e media-session: accept multiple -p, -e, and -d command-line arguments
Combine arguments together if given multiple times, instead of using the
last one. Useful, since pipewire.conf appears to not do quotes.

Fixes !348
2020-12-22 12:47:34 +01:00
Léo Stefanesco
7f3a878dd3 Fix typos in architecture.md 2020-12-22 09:15:21 +00: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
5804dd3f9b properties: fix leak with NULL or empty key
See #497
2020-12-21 19:48:55 +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
Wim Taymans
62954e14c3 node: improve profiler
Make a new complete event and use it instead of the start event
Use the start event at the start of the cycle
Make the profiler also log incomplete graph cycles
2020-12-20 20:37:21 +01:00
Wim Taymans
f630dd1a3b node: improve debug
Add duration/rate/position in warning
2020-12-20 20:37:21 +01: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
Wim Taymans
0370d7580f impl-node: save the original requested latency 2020-12-20 12:32:54 +01:00
Wim Taymans
c13183f182 impl-link: mark feedback links with property 2020-12-20 12:32:54 +01:00
Wim Taymans
34c33ccdbf policy-node: clear target node for dont-reconnect streams
When a stream is marked don't reconnect, clear the target-node so that
it does not accidentally gets linked to a save target. This makes it
kill the monitor stream from pavucontrol after a client disconnects.
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
7ef15f3721 pw-dump: convert unknown ids to id-<hexnum> 2020-12-18 17:54:40 +01:00
Wim Taymans
abe12cf790 pw-dump: improve choice values
Place range and step values on a single line
2020-12-18 17:49:46 +01:00
Wim Taymans
f7a7feea4e pipewire-pulse: use defines for our keys 2020-12-18 17:19:24 +01: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
bcceff4ab0 module-access: update with checks for fuse like upstream xdp 2020-12-18 15:48:13 +01:00
Wim Taymans
55c5e48578 alsa: set offset to 0 for playback streams 2020-12-18 15:32:27 +01:00
Wim Taymans
5ea1fd3e7d impl-link: fix dependencies for feedback links
A feedback link is scheduled as a dependency from input to output
node. Make sure we also notify the client of this dependency.

Fixes #404
2020-12-18 13:10:08 +01:00
Wim Taymans
2bd5dac306 media-session: create seq-bridge after we have permissions
See #423
2020-12-18 12:04:49 +01:00
Wim Taymans
94ec34d138 alsa: rename seq-source -> seq-bridge 2020-12-18 11:28:31 +01:00
Wim Taymans
d2a5f5c1ae pulse-server: also cleanup sample when error
Remove the separate error event and merge with the done event with
error code. This then also marks the sample as done when in error
so that it gets cleaned up properly.

Fixes #486
2020-12-18 09:50:12 +01:00
Wim Taymans
1a690a0cbb pulse-server: limit writes to ringbuffer
We can't write more to the ringbuffer than its maxsize. Some clients
send more than the negotiated maxsize and cause a crash if we don't
clamp.

See #440
2020-12-17 19:39:12 +01:00
Wim Taymans
e0580fedc1 pulse-server: handle seek flags and offset
Fixes #485
2020-12-17 16:49:17 +01:00
Wim Taymans
938e2b1451 v4l2: profiles params are not implement yet 2020-12-17 16:13:19 +01:00
Wim Taymans
b812dbcbf6 impl: always copy the id in param_info
Or else we will not have the right id when the flags are 0
2020-12-17 16:11:30 +01:00
Wim Taymans
f8c96167f9 impl: Only return -ENOENT when param does not exist
We checked above if the param exited and returned -ENOENT if not.
When we can't find any parameter, simply return 0.
2020-12-17 15:56:22 +01:00
Wim Taymans
91b0d3bb39 Remove pipewire-libpulse
We use the original pulseaudio client library and the replacement
server pipewire-pulse.
2020-12-17 15:44:49 +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
724d2581f0 pw-dump: add final \n at the end 2020-12-17 15:10:43 +01: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