Julian Bouzas
e14bb5fa2f
modules: steal the format_task before returning it
...
Fixes possible race condition when setting adapter ports format in the callback
of a previous adapter ports format call.
2021-05-19 07:42:18 -04:00
Frédéric Danis
20a2f5a232
systemd: Add conflicts with pipewire-media-session
...
This allows to run WirePlumber preferably when pipewire-media-session is
also installed.
2021-05-19 11:34:57 +02:00
Julian Bouzas
7e23f313b3
proxy: don't accept NULL pw_proxy in set_pw_proxy API
2021-05-18 10:01:13 -04:00
Julian Bouzas
dc693ee0d0
m-device-activation: use sync API to enum available profiles
2021-05-18 10:00:56 -04:00
Julian Bouzas
e1917239f3
m-default-routes: use sync API to enum available routes
2021-05-18 10:00:24 -04:00
Julian Bouzas
c3338458e5
m-default-profile: use sync API to enum available profiles
2021-05-18 09:59:18 -04:00
Julian Bouzas
8fdd99d956
global-proxy: delay object creation until bound feature is requested
...
Allows handling errors if creation fails
2021-05-18 09:24:33 -04:00
Julian Bouzas
b8030e138d
alsa-monitor: activate BOUND feature in JACK device
2021-05-17 15:23:24 -04:00
George Kiagiadakis
7f83bcfc25
tests: proxy: add a test for enum_params errors
2021-05-13 08:52:22 -04:00
George Kiagiadakis
63239bdfda
proxy: relax proxy error warning messages
...
These are also printed by libpipewire on the DEBUG level
and they are really not that harmful, so we don't need to spam
users with "failed" messages and alarm them
2021-05-13 08:52:22 -04:00
George Kiagiadakis
7ff2bbc0eb
pw-object-mixin: watch for proxy errors during enum_params
2021-05-13 08:52:22 -04:00
George Kiagiadakis
0b558eca74
proxy: add a "bind" watch, to watch for proxy errors while binding/exporting
...
Add a unit test for this. Create a link with invalid nodes and expect
the activation transition to error out.
2021-05-13 08:52:22 -04:00
George Kiagiadakis
7cf67a821a
proxy: add error signal
2021-05-13 08:52:22 -04:00
Julian Bouzas
f0166d6b3c
policy: fix removing of item links when linkable is removed
2021-05-13 08:46:02 -04:00
George Kiagiadakis
ba6404f7d6
tests: spa-pod: fix int64 constant to work on all architectures
...
the "long" type in spa-pod is int64_t, so we need to make sure we
pass a 64-bit number there, otherwise the va_args is going to crash
on some architectures while reading arguments off the stack
2021-05-13 09:15:45 +03:00
Julian Bouzas
58db9e1fad
global-proxy: destroy the global when proxy is destroyed
2021-05-12 14:04:34 -04:00
Julian Bouzas
d8ed6e4376
global-proxy: inherit from WpProxy when declaring class
2021-05-12 13:33:08 -04:00
Julian Bouzas
419af5a228
spa-pod: respect the SPA size for long and int APIs
...
Fixes some issues for 32bit architectures
2021-05-12 11:53:31 -04:00
Julian Bouzas
e1faf3f095
si-standard-link: configure the format in WpSiAdapters before linking
2021-05-12 10:37:18 -04:00
Julian Bouzas
9cf1f94045
modules: implement WpSiAdapter in si-audio-adapter and si-audio-endpoint
2021-05-12 10:37:15 -04:00
Julian Bouzas
51964d30cf
si-interfaces: add WpSiAdapter interface to set and get session item fortmat
2021-05-12 10:36:31 -04:00
Julian Bouzas
a37b4bf20d
session-item: add _get_property API
2021-05-12 10:36:31 -04:00
Julian Bouzas
05aba22c5a
si-audio-adapter: remove unneeded 'preferred.n.channels' property
2021-05-12 10:36:24 -04:00
Julian Bouzas
47ae4f28a3
si-standard-link: make sure create_links creates at least 1 link
2021-05-11 10:56:50 -04:00
Julian Bouzas
888667d784
modules: remove role and priority properties from si-audio-adapter and si-node
2021-05-11 10:56:50 -04:00
Julian Bouzas
d68636f9b3
si-interfaces: rename WpSiPortInfo to WpSiLinkable
2021-05-11 10:56:44 -04:00
Julian Bouzas
ee121e3093
scripts: cleaned and improved policy scripts
...
The policy scripts can handle now client nodes that want to be linked with other
client nodes. This is needed for nodes created by the Pulse Audio Volume Control
to monitor audio comming from other application client nodes.
2021-05-10 15:24:40 -04:00
Julian Bouzas
b46a907df4
create-item.lua: always enable monitor ports by default
2021-05-10 15:19:25 -04:00
Julian Bouzas
3f60716f30
modules: remove 'monitor' port context from si-audio-adapter and si-node
2021-05-10 15:19:25 -04:00
George Kiagiadakis
ecef960b78
release 0.3.95
2021-05-07 13:34:01 +03:00
George Kiagiadakis
ed6184a773
meson: depend on pipewire 0.3.26
...
Not really a hard requirement, wrt libpipewire API, but it's
hard to keep runtime compatibility with earlier versions when
it comes to configuration options
2021-05-07 12:14:43 +03:00
George Kiagiadakis
c0099a99d6
config: bluez: update to match media-session's bluez-monitor.conf
2021-05-07 12:10:31 +03:00
George Kiagiadakis
fc5aa7db1f
lua: rename Plugin() to Plugin.find()
...
Plugin() is confusing because it's not a constructor, it just finds
an existing instance of a plugin object. All other camel-case
functions are constructors in the current lua API.
2021-05-07 11:53:47 +03:00
Julian Bouzas
e4d8f2a2df
session-item: remove undefined API
2021-05-06 13:41:42 -04:00
George Kiagiadakis
a93dbf0845
wp: remove WpSessionBin
...
This is no longer used and likely not very useful now that we have
a simpler design.
We can re-add it in the future if necessary, but let's keep it out
of the 0.4 release.
2021-05-06 16:04:39 +03:00
George Kiagiadakis
257d5cba47
wp: rename debug.{h,c} to log.{h,c}
...
Also rename the intermediate lua api table WpDebug -> WpLog
Keeps things more consistent with the function names (wp_log*),
with the lua api (Log.*) and with pipewire using log.{h,c} as well.
After all, these functions are for logging...
2021-05-06 15:50:07 +03:00
George Kiagiadakis
157d4d95c9
config: disable ipc module by default and move it to the main instance
...
This is not part of the policy, it's something standalone that writes metadata
Needs to be disabled by default, since it's not built by default now
2021-05-06 15:19:55 +03:00
George Kiagiadakis
86ffac19e5
wpipc: place sockets in the same runtime directory as pipewire
2021-05-06 14:15:24 +03:00
George Kiagiadakis
a555d72cff
m-ipc: cleanup server using g_clear_pointer() for consistency and safety
2021-05-06 13:33:48 +03:00
George Kiagiadakis
cf0226c29b
wpipc: remove socket files after shutdown of the server
2021-05-06 13:32:38 +03:00
George Kiagiadakis
c35a58ca7b
meson: generate and install pkg-config file for wpipc
2021-05-06 13:06:49 +03:00
George Kiagiadakis
226ae5772e
meson: find threads_dep early and also use it in the wpipc-client
2021-05-06 13:00:55 +03:00
George Kiagiadakis
a2477d2d2c
wpipc: use proper api & so versions
2021-05-06 12:34:49 +03:00
George Kiagiadakis
cb4fa024b2
meson: replace join_paths() with operator /
2021-05-06 12:15:52 +03:00
George Kiagiadakis
d4b230b994
meson: remove audiofade pipewire branch check
...
We no longer have the audiofade-related code
2021-05-06 12:04:22 +03:00
George Kiagiadakis
5efb46a3e2
meson: make wpipc optional and disabled by default
...
This is only intended to be used with specific embedded
applications. There is no good reason to use it on
a standard desktop environment.
2021-05-06 12:00:56 +03:00
George Kiagiadakis
272022b8ea
policy-node: accept node names or paths in a stream's node.target property
2021-05-05 18:26:16 +03:00
Julian Bouzas
48b4f00d8c
policy-endpoint-client-links.lua: consider 'suspend.playback' metadata
2021-05-04 19:52:14 -04:00
Julian Bouzas
207268e189
modules: add ipc module
...
Handles SUSPEND and RESUME wpipc requests in order to set metadata that will
eventually unlink or re-link endpoints.
2021-05-04 19:52:09 -04:00
Julian Bouzas
795df4b693
lib: add wpipc library
...
Simple library that uses sockets for inter-process communication. It provides an
API to create server and client objects. Users can add custom handlers in the
server, and clients can send requests for those custom handlers.
2021-05-04 18:55:10 -04:00