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
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
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
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
dab0644d76
port: debug param changes some more
2020-07-20 10:28:34 +02: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
Wim Taymans
33d7b6ea43
Remove old portal module from build
2020-07-16 17:56:21 +02:00
Wim Taymans
a295901329
Move portal module to session manager
2020-07-16 17:54:18 +02:00
Wim Taymans
d720724d48
media-session: add method to iterate objects
2020-07-16 17:48:29 +02:00
Wim Taymans
0e21464da2
media-session: also make objects for other types
2020-07-16 17:48:00 +02:00
Wim Taymans
7d56b78bce
remove some unused fields
2020-07-16 17:47:30 +02:00
Wim Taymans
3eb37320c9
pw-cli: improve permission debug
2020-07-16 17:46:47 +02:00
Wim Taymans
50574b9523
flatpak: don't give write access for flatpaks
2020-07-16 13:34:06 +02:00
Wim Taymans
5f9bb13237
client: use core permission to pause/resume a client
...
Make it so that the permission of the core determines if a client
can continue or not. When the core is readable, the client is
allowed to continue otherwise it is paused.
2020-07-16 13:25:39 +02:00
Wim Taymans
cbc579825c
media-session: add flatpak module
...
Add a module that gives full access to flatpak apps. Later we should
do something more restrictive.
2020-07-16 12:52:00 +02:00
Wim Taymans
9caccb6125
pw-cli: quit when we quit
2020-07-16 12:49:17 +02:00
Wim Taymans
5afdd507c3
access: document and improve arguments
...
Add option to force flatpak security
When a check is inconclusive, go to the next check instead.
2020-07-16 11:45:44 +02:00
Wim Taymans
7ddc32a113
meson: place full path in the config
2020-07-16 11:44:10 +02:00
Wim Taymans
f306cbde0b
command: pass right arguments to execvp
...
The first argument is the command (exec) and the next is the
actual command we executed.
2020-07-16 11:42:55 +02:00
Wim Taymans
02be602f97
policy-node: route to the default sink/source when found
2020-07-15 15:53:54 +02:00
Wim Taymans
61e2d5cb54
policy-node: track default sink/source and move streams
...
Keep track of the default source and sink and move all streams linked
to the old default to the new default when it changes.
2020-07-15 14:26:16 +02:00
Wim Taymans
b1293d9f6e
policy-node: only track stream peers
...
Only track the peer of streams. We only care about where we linked
this stream to. There is only one target per stream but the device
we link to can have many peer streams.
2020-07-15 14:22:56 +02:00
Wim Taymans
5f2c4c70ec
media-session: expose metadata
2020-07-15 14:21:35 +02:00
Wim Taymans
2d5a404244
media-session: add method to remove links
2020-07-15 14:20:46 +02:00
Wim Taymans
035fb26d71
media-session: keep track of links
...
Also keep track of links when not tracked in the endpoint link.
2020-07-15 14:19:25 +02:00
Wim Taymans
5194c8a92f
media-session: start metadata first
2020-07-15 14:17:00 +02:00
Wim Taymans
583e450efd
example: add more debug
2020-07-15 14:14:23 +02:00
Wim Taymans
77274b3ab0
node: use intermediate pending state
...
Use an intermediate pending state that contains the state currently
in progress and use this to decide if we need to issue start/stop
commands.
Otherwise we might be in the running state, issue a Stop command,
issue a Start command (ignored because already running), then the
Stop completes and the node is stopped.
2020-07-15 14:11:01 +02:00