Wim Taymans
3fd8f62e21
acp: sync with pulseaudio
...
Remove our custom hack to work around missing duplex and use
upstream fix.
2021-04-22 12:25:48 +02:00
Huang-Huang Bao
8129b6658e
bluez5: rename 'bluez5.reconnect-profiles' property to 'bluez5.auto-connect'
...
Avoid confusion with 'ReconnectUUIDs' in bluez policy config. See #1081 .
2021-04-22 07:36:47 +00:00
Huang-Huang Bao
f44d00424f
bluez5: don't clear dynamic node flag from node id in volume changed handler
...
It causes transport state handler don't emit node removing info.
Fixes #1080 .
2021-04-22 07:34:02 +00:00
Huang-Huang Bao
01f2c91b89
bluez5: fix HSP HS profile enumeration
...
HSP don't supports codec switching.
2021-04-21 08:58:48 +00:00
Huang-Huang Bao
30e4e56852
bluez5: enable HSP HS volume control
...
It's only enabled for HSP AG previously.
2021-04-21 08:54:10 +00:00
Huang-Huang Bao
f56d08297d
bluez5: correct RFCOMM command to set HSP HS volume
2021-04-21 08:54:10 +00:00
Huang-Huang Bao
0dde4f8774
bluez5: cache a2dp volumes activation info
...
So we don't get a sudden boost on soft volumes when switching profile/codec.
2021-04-21 08:54:10 +00:00
Wim Taymans
5240850bc1
bluez: set device description to the bluez alias
...
Just like how PulseAudio does it.
Fixes #1064
2021-04-20 16:57:44 +02:00
Wim Taymans
a9b8aa27c1
media-session: improve bluetooth icon name
...
Move the icon we get from bluez to a separate property, it is not
a good icon to show.
Copy form factor from device to node properties.
Set device.bus in the device properties and copy it to the node
properties.
Use form factor and bus to make a nice icon-name for the node and
device.
Fixes #1064
2021-04-19 13:21:32 +02:00
Wim Taymans
18c4af9add
libcamera: fix compilation
...
Fixes #1068
2021-04-18 20:34:24 +02:00
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