Huang-Huang Bao
98d1a3cb16
bluez5: improve bluetooth profile descriptions, make them more translatable
2021-04-18 16:53:45 +08:00
Wim Taymans
f95ecf95ba
spa: don't overrun the input array
...
Read one byte less than the size of the buffer so that we still have
room in the buffer to append the 0 byte.
2021-04-17 19:43:55 +02:00
Huang-Huang Bao
edee633f96
bluez5: add property to enable hardware volume control
2021-04-17 19:35:46 +08:00
Huang-Huang Bao
387f7e327f
bluez5: add support for HSP/HFP hardware volume control
...
Only native backend is fulfilled.
2021-04-17 19:07:35 +08:00
Huang-Huang Bao
80f6ddf526
bluez5: add hardware volume support
...
Add necessary apis to bluez transport.
Add A2DP(AVRCP) absolute volume support. Source volume can only update to adapter node but not from due to AG nodes don't have route.
Since A2DP/HSP/HFP volume is already percentage itself, it has been mapped to pulseaudio volume then converting to linear volume.
2021-04-17 19:07:35 +08:00
Wim Taymans
f27ad659f8
spa: add property to force VM
...
Also add PIPEWIRE_VM to force a VM type.
2021-04-16 16:50:34 +02:00
Wim Taymans
ce828af9e1
spa: add cpu method to get the VM type
...
Make a method to query the VM we are running on.
2021-04-16 16:50:34 +02:00
Wim Taymans
fa3bd6b0e1
channelmix: support more than 19 channels
...
The channelmatrix was limited to the 19 known channels, leaving
only the first 19 channels usable.
Use the full 64x64 matrix instead and make sure to fill all 64
channels with the identity matrix in the case we need to copy or
distribute the matrix to unknown positions.
See #57
2021-04-16 10:56:24 +02:00
Wim Taymans
9c8a578e21
v4l2: don't select DmaBuf when the type mask is invalid
...
an invalid data type mask means that the caller did not explicitly
allowed DmaBuf so fall back to memptr or memfd.
Fixes #1054
2021-04-15 20:42:11 +02:00
Wim Taymans
cd79cdfb40
libcamera: use the data type mask to select a type
...
In alloc_buffers we need to look at the data types mask.
Select DmaBuf when not invalid and the DmaBuf flag is set, otherwise
select memptr.
See #1054
2021-04-15 20:40:16 +02:00
Wim Taymans
6e0ba50a9c
libcamera: use the buffer datatype as the port type
...
In use buffers we need to respect the buffer data type.
2021-04-15 20:39:12 +02:00
Wim Taymans
036c54b043
Add i18n support for some more user-visible strings
2021-04-15 17:56:40 +02:00
Wim Taymans
c90332a6bf
acp: make sure all descriptions are translated
2021-04-15 17:56:40 +02:00
Wim Taymans
09106151d3
acp: use the right profile name and description
2021-04-15 17:56:40 +02:00
Wim Taymans
043178e16b
spa: improve i18n method
...
Make the method names match the fields in the method.
2021-04-15 17:56:40 +02:00
Huang-Huang Bao
d44955a199
a2dp: handle source transport destroy
...
Fix a use-after-free to transport if node is still running.
This revert part of a75fe69c8e .
2021-04-15 06:59:19 +00:00
Peter Hutterer
223f20709d
meson: replace join_paths(a, b) with a / b
...
More readable and from the meson reference manual:
(since 0.49.0) Using the/ operator on strings is equivalent to calling join_paths.
2021-04-15 06:57:00 +00:00
Wim Taymans
3babedec9c
acp: get i18n interface from support and use it
...
Save the i18n interface in a global variable. Make acp use the support
interface when translating strings.
2021-04-14 18:03:46 +02:00
Wim Taymans
7ee23a046c
acp: avoid warning for i18n string
...
spa/plugins/alsa/acp/channelmap.h:466:9: warning: format not a string
literal and no format arguments [-Wformat-security]
466 | pa_snprintf(s, l, _("(invalid)"));
2021-04-14 18:03:45 +02:00
Pauli Virtanen
20e383cea7
v4l2: remove device if inotify reports it's no longer accessible
2021-04-11 16:38:10 +00:00
Pauli Virtanen
bf3b5d4286
alsa: remove device if inotify reports it's no longer accessible
...
When the session becomes inactive (eg. user on active seat switched),
udev may make devices inaccessible. In this case, pipewire should give
up the devices and close their open file descriptors.
2021-04-11 16:38:10 +00:00
Pauli Virtanen
277a9a2577
bluez5: retry initial HFP codec selection after a timeout
...
In case headset fails to reply with AT+BCS to the codec selection
following AT+CMER, try to retry the codec selection, and if it still
fails, assume the headset is configured for CVSD.
2021-04-11 16:34:33 +00:00
Pauli Virtanen
87e06783d1
bluez5: more cleanup on impl_clear
...
Remove dbus filters and close the dbus connection. Closing the
connection lets BlueZ to clean up, so we don't call its unregistration
API.
2021-04-10 23:07:51 +03:00
Pauli Virtanen
87aa18edb1
bluez5: free rfcomm when device is freed
...
Avoids use-after-free if device gets freed before the corresponding
rfcomm.
2021-04-10 15:47:46 +00:00
Huang-Huang Bao
4292e8fe7e
a2dp: set marker bit on AAC header
2021-04-10 04:51:16 +08:00
Huang-Huang Bao
b874362c8e
a2dp: don't reset buffer on EAGAIN
...
Allow it to resend packet until next port data is received.
2021-04-10 04:50:34 +08:00
Frédéric Danis
136511fbc8
bluez5: backend-ofono: Enable SCO deferred socket
...
The incoming SCO socket should be first read to authorize the connection.
2021-04-08 14:18:17 +00:00
Pauli Virtanen
026e3882d2
bluez5: remove battery when RFCOMM connection drops
...
There won't be further battery level updates when RFCOMM connection is
down, so remove the battery then.
Fix minor things with canceling the provider registration.
2021-04-05 15:04:16 +00:00
Dmitry Sharshakov
97b01ed9b0
bluez5: add a property to select default profile
2021-04-04 08:43:09 +00:00
Wim Taymans
9562cd56a2
alsa-seq: tweak port names some more
...
Remove the client id, it can change and is otherwise not generally
useful. Move the direction with the port.
Fixes #1007
2021-04-01 19:43:28 +02:00
Dmitry Sharshakov
e3f344b3fa
bluez5/native: send correct AT+CMER HFP HF command
...
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
2021-04-01 19:12:49 +03:00
Wim Taymans
b318a9e1d3
support: add right property id
2021-04-01 10:08:47 +02:00
Huang-Huang Bao
63281413bd
a2dp: fix a problem in b9d1b818
2021-03-31 19:33:21 +08:00
Huang-Huang Bao
b9d1b818d5
a2dp: guard against LDAC quality value, add labels for LDAC quality prop info
2021-03-31 11:14:58 +00:00
Huang-Huang Bao
5c93f780cf
a2dp: improve a2dp sink codec data flushing
...
Let codec decides when rtp packet need to be sent (terminated by MTU size in most case).
LDAC encoding loop can now be terminated by reading if frame_num is written, no 'frame_count' updating is needed.
RTP payload fragmentation can now be implemented more easily based on this.
2021-03-31 11:14:58 +00:00
Wim Taymans
f0ab2bc1db
bluez5: pass the route save property around
...
So that volumes are saved by the session manager.
Fixes #995
2021-03-30 16:31:17 +02:00
Wim Taymans
dc3bf68aa2
acp: make sure we pass the save flag around
...
When we set the volume on a port, make sure we also set the save flag
so that the flag is put into the volume changed event and the session
manager can save it.
Fixes #995
2021-03-30 16:06:30 +02:00
Wim Taymans
5b2b256ecd
alsa: initialize reserve array
2021-03-30 09:40:10 +02:00
Wim Taymans
43317f67ba
a2dp-source: improve info parsing
...
Make sure we handle NULL info.
Simplify the property parsing.
2021-03-30 09:24:35 +02:00
Dmitry Sharshakov
e7f2f450ff
bluez5: add parameter to use A2DP source as input
2021-03-30 09:21:12 +02:00
Wim Taymans
149471631e
alsa: use higher ports for listening
...
Allocate up to the first 16 ports, use the last 2 ports and free the
first 14 ports.
This ensure our ports are not among the first ports so that port 128
and following are for normal apps, what is usually expected when
PipeWire is not running.
Fixes #951
2021-03-29 17:05:03 +02:00
Wim Taymans
80ce2c94ac
alsa: add start-delay parameters to sink
...
The start-delay adds extra silence to the buffer before starting the
playback. The idea is to have more time to adapt to the device
startup and set the timer more accurately.
See #983 , #431
2021-03-29 13:20:14 +02:00
Wim Taymans
fda565864c
alsa: limit headroom to buffer-size
...
We can never have more headroom that the total buffer-size so better
clamp this here.
2021-03-29 13:17:01 +02:00
Wim Taymans
73f50bb964
improve debug
2021-03-29 11:41:06 +02:00
Pauli Virtanen
ef74ef3654
bluez5: use the actual latency in a2dp-source
2021-03-28 14:20:42 +03:00
Pauli Virtanen
b19bd74b22
bluez5: adjust sco-source behavior as a follower
...
Don't try to drive as a follower, specify latency when AG, and
bump up number of buffers to allow process being called less often.
2021-03-28 14:15:26 +03:00
Wim Taymans
ae22852a9b
remove some useless checks
...
The variable was already dereferenced above and thus can't be NULL
2021-03-27 20:36:43 +01:00
Wim Taymans
e7ca1b474e
acp: use the input ports for the input mappings
2021-03-27 20:16:04 +01:00
Wim Taymans
f26c642055
loop: initialize some variables
...
Just in case the read fails.
2021-03-27 19:23:34 +01:00
Pauli Virtanen
f330446291
bluez5: better error/malformed input handling
...
Safer parsing of AT commands, additional null and error checks.
2021-03-27 14:38:31 +00:00