Commit graph

1889 commits

Author SHA1 Message Date
Raghavendra
d692f06f0d docs: api: Replace hotdoc specific commands with Doxygen specific commands 2021-05-25 14:19:53 +03:00
Raghavendra
89549247f8 docs: Replace hotdoc with Doxygen & Sphinx to generate documentation 2021-05-25 14:19:53 +03:00
Julian Bouzas
3e6edcb02e pipewire-object-mixin: fix memleak in GList 2021-05-24 12:59:11 -04:00
Julian Bouzas
7741c2e43a policy-endpoint-device: wait until previous links are activated
Makes sure links are activated before starting scanning again.
2021-05-24 11:07:59 -04:00
Julian Bouzas
bd90783398 m-si-standard-link: remove unused manage.lifetime configuration property 2021-05-24 11:07:59 -04:00
Julian Bouzas
265abd444b tests: enable si-standard-link test and port it to new API 2021-05-24 11:07:56 -04:00
George Kiagiadakis
4e3ca5dc15 wplua: ref closure before invalidating it
invalidation may destroy the closure and this will trigger
_wplua_closure_finalize(), which will remove the closure from the
array while the original code is also trying to do the same

if we destroy the closure after it has been removed from the
array, _wplua_closure_finalize() will not remove anything and
will continue happily
2021-05-22 10:52:35 +03:00
George Kiagiadakis
ac23e60267 wpctl: fix iterator cleanup 2021-05-21 20:04:27 +03:00
George Kiagiadakis
f0d33cb873 endpoint: remove wp_endpoint_create_link()
Not used and not useful with the current design.
May be reverted in the future, if necessary.
2021-05-21 19:57:31 +03:00
George Kiagiadakis
fd7b68dfd7 scripts: remove static-sessions 2021-05-21 19:57:31 +03:00
George Kiagiadakis
ac9e1e89c4 wp: remove WpSession and WpEndpointLink
We have ended up not using them, so let's not carry them
in the ABI of 0.4

We can always revert that, but let's first decide how
these objects should be used
2021-05-21 19:57:31 +03:00
Julian Bouzas
b3b10db529 policy: don't link endpoints on startup
Sometimes the default device node might not exist when reevaluating endpoints
for the first time on startup, so the policy would link endpoints to another
device node. Then, the default device node appears and the policy moves the
endpoints to the default device node while the previous link has not finish its
activation yet. This race condition can cause endpoint links to fail when being
activated. Delaying the reevaluation of endpoint links until the first client
link is created avoids this issue.
2021-05-20 11:18:19 -04:00
Julian Bouzas
5756d8899d m-default-nodes: check if node is valid before returning bound id 2021-05-20 11:18:19 -04:00
Julian Bouzas
0ff0ef77f2 policy: reevaluate all linkables if one linkable was removed
Allows relinking client nodes to other devices if the current device has been
removed. This allows audio to keep playing in a different device if a bluetooth
device is disconnected.
2021-05-20 11:18:15 -04:00
Julian Bouzas
7bc59afd81 m-default-routes: log error message when failed to get current routes 2021-05-20 10:51:49 -04:00
Julian Bouzas
2218b5613e m-default-profile: log error message when failed to get current profile 2021-05-20 10:51:49 -04:00
Julian Bouzas
fc41af5c98 m-mixer-api: make sure the enum param iterator is valid
Some audio nodes such as null-audio-sink nodes don't support Props or Route enum
params.
2021-05-19 18:26:17 -04:00
Julian Bouzas
188a10e0e7 pipewire-object-mixin: make sure enum params task is only triggered once
Always remove the task from the list before returning to make sure it will
always be triggered once.
2021-05-19 10:26:17 -04:00
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