Commit graph

4199 commits

Author SHA1 Message Date
Frédéric Danis
ebdaac160c bluez5: backend-ofono: Fix SCO nodes not created on oFono's CardAdded
oFono's CardAdded signal from can occur after BlueZ's ServicesResolved
signal. In this case the device is created without SCO nodes.
This is fixed by not enforcing device creation on ServicesResolved signal.
2020-07-22 18:59:58 +02:00
Frédéric Danis
18da8fd21f bluez5: backend-ofono: Add spa_bt_transport support 2020-07-22 18:59:58 +02:00
Frédéric Danis
9b6dd9461e bluez5: Create backend skeleton for HFP support using oFono 2020-07-22 18:59:58 +02:00
Wim Taymans
82dab3ab4e context: avoid compiler warning 2020-07-22 18:53:18 +02:00
Wim Taymans
f20aa405cb pw-cat: fallback to default channel map in record
If not otherwise specified, use the default channelmap when recording.
2020-07-22 17:26:14 +02:00
Wim Taymans
193b9afdff media-session: always prefer a port match
First find a port match and then increase the score when the port
was unconnected.
2020-07-22 17:24:58 +02:00
Wim Taymans
201d762b2a policy-node: refactor configure_node 2020-07-22 16:53:02 +02:00
Wim Taymans
59e69d8329 impl-port: unlink as part of destroy 2020-07-22 16:49:29 +02:00
Wim Taymans
553337df60 remote-node: handle remove port 2020-07-22 16:20:43 +02:00
Wim Taymans
03c2185efe media-session: rework linking nodes
Rework how nodes are linked. score each port pair and link the
highest score taking into account the type, direction, channels,
and number of linked ports.
2020-07-22 15:05:45 +02:00
Wim Taymans
5f9a8a82ab media-session: improve find_object
Make it possible to search for a type
2020-07-22 14:14:02 +02:00
Wim Taymans
f6753eefc3 media-session: keep more info about ports
Parse the DSP type and the channel and keep it around
2020-07-22 11:27:23 +02:00
Wim Taymans
0ca4a5621c port: copy AUDIO_CHANNEL key as well 2020-07-22 11:26:47 +02:00
Wim Taymans
022705d813 pw-cat: fix leak in channel parsing 2020-07-22 11:26:06 +02:00
Wim Taymans
2bb1d88fbe keys: let env variables overwrite the keys 2020-07-22 11:25:19 +02:00
Wim Taymans
2955182e4e use spa_debug_type_short_name() when we can 2020-07-22 11:22:11 +02:00
Wim Taymans
cc0727e62f pulse: remove useless leaked property 2020-07-21 17:39:08 +02:00
Wim Taymans
ca066fbf3b jack: use PIPEWIRE_PROPS env to add properties to jack nodes 2020-07-21 16:50:45 +02:00
Wim Taymans
d4d80c16c1 jack: handle NULL keys 2020-07-21 16:47:58 +02:00
Wim Taymans
875236631f acp: don't ignore return value 2020-07-21 15:42:04 +02:00
Wim Taymans
8b291ada27 jack: increase client name size 2020-07-21 15:41:52 +02:00
Wim Taymans
0b3e9edaa2 0.3.7 2020-07-21 12:06:39 +02:00
Wim Taymans
3fe5e146c2 thread-loop: fix comment 2020-07-21 11:02:11 +02:00
Wim Taymans
32ccd24469 node: improve error message 2020-07-21 11:02:01 +02:00
Julian Bouzas
03bc36a502 resample-native: substract num of skipped samples after processing input
Takes into account the number of skipped samples when deciding whether
we should copy the remaining samples in the history or not.

Fixes dropping audio issue when resampling from high frequencies
such as 48KHz to low requencies such as 8KHz.
2020-07-20 15:25:02 -04:00
Wim Taymans
7bd7476426 media-session: use ACP alsa devices by default 2020-07-20 17:34:28 +02:00
Wim Taymans
13492fd282 jack: include application name in client name 2020-07-20 16:54:38 +02:00
Wim Taymans
2909786eb2 stream: put target string in node.target 2020-07-20 16:27:50 +02:00
Wim Taymans
ee2c1f3882 jack: enforce unique port names as well 2020-07-20 16:27:26 +02:00
Wim Taymans
8c4b594b50 policy-node: don't move to the current target 2020-07-20 14:46:44 +02:00
Wim Taymans
7915bf5778 policy-node: implement move node
Move nodes to a new target when the metadata changes.
2020-07-20 14:40:50 +02:00
Wim Taymans
ff876bf58e introspect: set metadata type as well 2020-07-20 14:40:34 +02:00
Wim Taymans
5d0a1c4838 stream: remove wrong warning 2020-07-20 13:27:25 +02:00
Wim Taymans
62f7da880a pulse: clean up introspection
Make sure we always first update the registry.
Call callbacks with the right return value and set the context
error on errors correctly.
Remove some old code.
2020-07-20 13:13:22 +02:00
Wim Taymans
246ad5fb37 introspect: set target node as property
Use the metadata to tag streams with the desired target node.
2020-07-20 11:26:32 +02:00
Wim Taymans
dab0644d76 port: debug param changes some more 2020-07-20 10:28:34 +02:00
Frédéric Danis
2d91e62a19 bluez5: Workaround incorrect SCO MTU
It seems that some BT adapters don't return correct SCO MTU, see
https://marc.info/?t=148586768600002&r=1&w=2
Do not try to autodetect the MTU and use a fix MTU size of 48 bytes.
2020-07-17 19:36:33 +02:00
Frédéric Danis
06a6e11806 bluez5: Create backend for native HSP support 2020-07-17 18:34:33 +02:00
Wim Taymans
7711c98123 jack: use default sink/source to sort ports 2020-07-17 17:23:43 +02:00
Julian Bouzas
23788ee617 sco-sink: clean up and write data at a constant bitrate
Audio data received by HSP/HFP devices need to be sent at a constant
bitrate to achieve smooth playback
2020-07-17 15:13:03 +00:00
Julian Bouzas
551844c0ef sco-source: initialize read mtu and read chunks of its size
The mtu value returned by the kernel seems to be incorrect, we use
the hardcoded value of 48 for now (like bluezalsa)
2020-07-17 15:13:03 +00:00
Wim Taymans
15a4019e45 client: refuse update of pipewire.* keys from client
Only the server and modules can update the properties with
pipewire.* keys.
2020-07-17 16:56:37 +02:00
Wim Taymans
07cc07597c access: always put access in property
Improve debug
2020-07-17 16:47:14 +02:00
Wim Taymans
cd7763c814 access: use key to access property 2020-07-17 16:46:26 +02:00
Wim Taymans
119ef5e376 session-manager: move portal check back to pipewire
Enable the portal check in pipewire.
Only do permission store queries in the session-manager for portal
managed apps.
2020-07-17 14:14:26 +02:00
Wim Taymans
5731447357 add portal module again
This access module now only checks if the connection is comming
from the portal and tags the ACCESS property with portal in that
case. It will no longer do permission store checks, that's for
the session manager.
2020-07-17 14:12:10 +02:00
Wim Taymans
9b00462561 client: also copy ACCESS key to global 2020-07-17 14:09:56 +02:00
Wim Taymans
89b189d190 access: don't check access if already set
If we already have an access property, leave the client as is.
2020-07-17 13:23:50 +02:00
Wim Taymans
4d4904187b client: update busy status after check_access
So that we block clients without permissions
2020-07-17 13:22:02 +02:00
Wim Taymans
f2c1ab6069 access: make access property configurable
Just set the value of access.force into pipewire.access so that
the session manager can deal with it.
2020-07-17 09:59:49 +02:00