Wim Taymans
64067bafe3
media-session: remove listener
2020-08-04 13:46:22 +02:00
Wim Taymans
66816580bc
alsa: improve configuration of NICK
2020-08-03 18:16:53 +02:00
Wim Taymans
d57da19f26
client-device: first set implementation, then register
...
Setting the implementation updates the properties so that we
have more info when creating the global.
2020-08-03 18:11:12 +02:00
Wim Taymans
79937676a4
alsa: add profile description in node description
2020-08-03 16:28:09 +02:00
Wim Taymans
f2cc0e6723
media-session: add some debug for enum-param
2020-07-31 15:21:39 +02:00
Wim Taymans
5bdd65e066
device: pass original seq in async reply
...
When we get an async reply from the implementer, use the original
seq from the caller in the reply.
Fixes !287
2020-07-31 15:19:45 +02:00
Wim Taymans
5e51cbe48e
media-session: improve param enumeration
...
Don't use subscribe, enum is more manageable.
Use user data field to check for changes.
Only enumerate readable params.
Enum all node params.
2020-07-31 13:59:25 +02:00
Wim Taymans
6f2e274b15
protocol: add a few more options for XDG_RUNTIME_DIR
...
PIPEWIRE_CORE can be used to specify a server name.
PIPEWIRE_REMOTE can be used to specify what server name to
connect to.
Either use the absolute path of the name to create and connect
to a server, or use a relative path. For a relative path, the
server name will be completed by prefixing the following paths
in order:
PIPEWIRE_RUNTIME_DIR environment variable,
XDG_RUNTIME_DIR environment variable,
HOME environment variable,
USERPROFILE environment variable,
home directory as stored in the password database.
Fixes #259
2020-07-31 12:46:58 +02:00
Wim Taymans
5f40bc6d4e
gst: support VideoCrop meta
...
Convert the VideoCrop metadata to GStreamer metadata.
2020-07-31 11:44:46 +02:00
Wim Taymans
6fd373ac83
examples: add support for YUV data
2020-07-31 11:44:20 +02:00
Wim Taymans
df76501d39
impl-node: update driver stats as well
...
If we have an underrun but are managed by another driver, also update
the driver stats.
2020-07-30 18:22:33 +02:00
Wim Taymans
c7d7dd91f8
permission: add M permission
...
The M permission is needed to set metadata on an object.
2020-07-30 16:35:14 +02:00
Wim Taymans
91d4806611
permission: add some helpers
...
Add PW_PERM_ALL as a shortcut for all permissions
Add PW_PERMISSION_FORMAT and PW_PERMISSION_ARGS to nicely format
permissions.
2020-07-30 16:26:29 +02:00
Wim Taymans
8db9a2741b
metadata: only allow setting metadata on objects we can see
...
Allow a client to only set metadata on objects that it has
read access to.
2020-07-30 15:30:13 +02:00
Wim Taymans
bd8b239621
client: add function to check permissions of a client
2020-07-30 15:16:30 +02:00
Wim Taymans
a5ec68e61c
metadata: only set default name when not already set
2020-07-30 14:28:11 +02:00
Wim Taymans
ba8522aac9
metadata: we need W permission to set and clear properties
2020-07-30 14:27:35 +02:00
Wim Taymans
0d6bbaa7e1
policy-node: only configure devices when active
...
Wait until a node is active before we attempt to configure it or
else we don't yet have a format to configure it with.
2020-07-29 12:20:24 +02:00
Wim Taymans
e32a7a8d65
make some errors into debug
...
With the debug and return value we can delay writing error messages
in the log until we really need to.
2020-07-29 11:30:11 +02:00
Wim Taymans
a2de3b0873
policy-node: add default video source metadata
2020-07-28 11:17:36 +02:00
Wim Taymans
9e8851e0ae
policy-node: do downmix in monitor streams
...
Monitor streams usually have 1 channel so ask for all monitored
channels to be downmixed.
Don't try to configure video or unknown streams
2020-07-28 10:50:00 +02:00
Wim Taymans
a96fcf5c19
policy-node: rework node configuration
...
Add a configure stage to the node where the PortConfig is
determined.
Wait until we link a stream and then configure the node with the
portconfig of the peer.
Configure devices with the their best portconfig by enumerating
the formats.
2020-07-28 10:21:01 +02:00
Wim Taymans
6184c0fe32
keys: add stream to avoid remixing channels
2020-07-28 10:16:04 +02:00
Wim Taymans
e35586cd15
media-session: link MONO/UNKNOWN channels only once
...
Try to only link the MONO and UNKNOWN input ports once
2020-07-27 17:41:52 +02:00
Wim Taymans
4a8afe389c
policy-node: boost priority on default device
...
When we find a default device, boost the priority so that it
remains the target device even when a device with higher priority
is scanned later.
Fixes issue where default device was not selected because a higher
priority device was encountered after it.
2020-07-27 10:16:17 +02:00
Wim Taymans
34fc7ff529
media-session: link unknown and mono streams to something
2020-07-24 17:39:29 +02:00
Wim Taymans
3586f918c5
main: make the default remote if nothing is specified
2020-07-24 17:23:00 +02:00
Wim Taymans
6530c694c9
protocol: debug server we connect to
2020-07-23 20:12:25 +02:00
Wim Taymans
141238d88b
core: always use explicitly configured properties first
...
First use the configured properties, then use the env variables.
Make the daemon use the env variable by default.
This makes it possible to start servers with PIPEWIRE_CORE env variable
names but still override with the command option.
Makes it possible to make apps connect to PIPEWIRE_REMOTE env by
default and allows you to override with the command option.
2020-07-23 13:40:02 +02:00
Wim Taymans
266e1301d2
use id to store default sink/source
...
This is easier to handle in general and we should not use the name
as a unique id. If the session manager wants to save things, it can
use whatever fields it wants from the object to create a unique
persistent name.
2020-07-23 11:59:13 +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
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