Commit graph

643 commits

Author SHA1 Message Date
George Kiagiadakis
b0d17413dc modules: remove obsolete module-pipewire file 2020-05-20 17:29:39 +03:00
Julian Bouzas
3fa1334113 docs: update configuration.md 2020-05-20 13:14:53 +03:00
George Kiagiadakis
29886ccf74 docs: improve documentation 2020-05-19 17:54:10 +03:00
Julian Bouzas
1f4d88b915 configuration: fix memleak when reloading 2020-05-19 10:18:51 -04:00
Julian Bouzas
c6f24fac8a main: disconnect core before exiting
Disconnecting core finishes all pending tasks, which is needed in order to avoid
possible leaks if some tasks are still pending when exiting.
2020-05-19 10:18:51 -04:00
Julian Bouzas
d9ffc1c318 core: finish all pending tasks when core proxy is destroyed 2020-05-19 10:18:51 -04:00
Julian Bouzas
bd0218c3ee tests: base-test-fixure: make sure core is done before destroying it 2020-05-19 10:18:51 -04:00
Julian Bouzas
522d32224e modules: config-policy: rename link-activated signal to link-created 2020-05-19 10:18:51 -04:00
Julian Bouzas
bb82b0832e tests: config-policy: make sure the link is activated before stopping 2020-05-19 10:18:51 -04:00
Julian Bouzas
e1686eb169 dbus-device-reservation: fix memleak when completing release 2020-05-19 10:18:51 -04:00
Julian Bouzas
6a73179d57 si-standard-link: fix memleak when creating links 2020-05-19 10:18:51 -04:00
Julian Bouzas
1acdb2a89b si-adapter: use a different g_autoptr for port_format 2020-05-19 10:18:51 -04:00
Julian Bouzas
b2431132ca si-convert: fix memleak when getting the node properties 2020-05-19 10:18:51 -04:00
Julian Bouzas
24cfa053eb object-manager: release interest when destroying iterator 2020-05-19 10:18:51 -04:00
Julian Bouzas
895e5d3f33 tests: spa-props: fix memleaks shown with valgrind 2020-05-19 10:18:51 -04:00
George Kiagiadakis
49ae7d3c7a ci: actually create the "public" directory in the pages job 2020-05-18 23:21:23 +03:00
George Kiagiadakis
e1c92b387c ci: fix exporting documentation to gitlab pages 2020-05-18 23:17:37 +03:00
George Kiagiadakis
3ef5f409ad ci: export documentation on gitlab pages 2020-05-18 22:39:15 +03:00
George Kiagiadakis
91c35b2e0d ci: switch to ci-templates and enable running tests 2020-05-18 17:26:45 +03:00
George Kiagiadakis
3c8d7da879 Merge remote-tracking branch 'origin/master' into next 2020-05-18 10:25:03 +03:00
George Kiagiadakis
79e9bcd8b7 meson: bump project version number 2020-05-18 10:22:45 +03:00
George Kiagiadakis
653fea826f m-session-settings: implement storing and loading default endpoint user settings 2020-05-16 12:54:36 +03:00
George Kiagiadakis
49c6d00e07 session: add a _get_name() method 2020-05-16 12:54:36 +03:00
George Kiagiadakis
27064d78f8 modules: initial version of module-session-settings 2020-05-16 12:54:36 +03:00
Julian Bouzas
f78ca66922 config-policy: remove keep property and never unlink endpoints 2020-05-15 08:28:58 -04:00
Julian Bouzas
e1b85e1fe4 session-item: check for core before adding closure if proxy is destroyed 2020-05-15 08:21:49 -04:00
Julian Bouzas
e481c998a4 si-standard-link: check if stream parent is valid before acquisition 2020-05-15 08:21:49 -04:00
George Kiagiadakis
4d965b3b39 config-policy: shorten some code 2020-05-14 18:42:43 +03:00
George Kiagiadakis
a2b84e27d1 session: rename the default source/sink controls to have shorter names
+ use a more correct naming scheme to match the one from Spa
+ remove the default video source, since we now use a different
 session for video
2020-05-14 17:31:24 +03:00
George Kiagiadakis
5c8a462a4a debug: use levels 1-5 in WIREPLUMBER_DEBUG
This makes WIREPLUMBER_DEBUG behave just like PIPEWIRE_DEBUG.
Same levels, same syntax, easier for users.

ERROR & CRITICAL are always printed, as they should; there is no point
in disabling them, since:
- ERRORs are always fatal and should never ever happen
- CRITICALs are assertion failures and indicate bugs that need to be fixed
2020-05-14 17:00:55 +03:00
George Kiagiadakis
a45d47f519 debug: shorten a bit the length of the messages
* use a short level name, like pipewire does
* color the timestamp to compensate for the loss of the visible level name
* use 18 chars for the category
2020-05-14 16:37:38 +03:00
George Kiagiadakis
5eecc5b68a object-manager: remove deprecated API 2020-05-14 16:24:34 +03:00
George Kiagiadakis
1e4a79c80e registry: do not expose early removed globals to object managers 2020-05-14 10:27:03 +03:00
George Kiagiadakis
59b47e6b42 wireplumber-cli: actually show video endpoints 2020-05-13 20:21:22 +03:00
George Kiagiadakis
9b0417cb68 core: remove warning on the error callback
libpipewire already prints this, so we get it duplicated on the log
2020-05-13 19:56:55 +03:00
George Kiagiadakis
d89c4ecd94 object-manager: don't try to install if there is no core
This happens when the daemon fails to connect and the
not installed object managers try to get installed, but
the weak ref to the core is already gone
2020-05-13 19:52:25 +03:00
George Kiagiadakis
386c75f3b9 wireplumber-cli: update to more recent API and fix some issues 2020-05-13 19:29:08 +03:00
George Kiagiadakis
151480f3e4 object-manager: wait until globals appear before emitting "installed"
object managers that are registered a bit early (such as the one in
wireplumber-cli) have no use if they are declared as installed before
any globals appear. After the initial registry startup, there should
be at least 1 global, the core (id=0), so even if this client has
no access to any object, the object manager should be able to
finish its installation successfully
2020-05-13 19:29:08 +03:00
Julian Bouzas
27ff8d5ef2 modules: port config-static-nodes to use WpPlugin 2020-05-13 11:21:45 -04:00
Julian Bouzas
faa9719f53 modules: port config-policy to use WpPlugin 2020-05-13 11:21:45 -04:00
George Kiagiadakis
1aefda4128 daemon: activate plugins in an idle callback to avoid side-effects
the on_sessions_exported callback runs from within the context
of export_tmp_globals in object-manager.c and when plugins register
more object managers, it modifies the object managers list that
export_tmp_globals is iterating over, making things behave really weird
2020-05-13 18:18:52 +03:00
George Kiagiadakis
f6dacf7cf7 lib: remove WpFactory (no longer used) 2020-05-13 15:29:17 +03:00
George Kiagiadakis
68223e0ea3 tests: add unit test for WpCore disconnection 2020-05-13 15:21:10 +03:00
George Kiagiadakis
8e87bd323c core: fix disconnecting when pipewire quits 2020-05-13 15:20:26 +03:00
Julian Bouzas
21f6309621 config-endpoint: destroy the endpoint when its associated node is destroyed 2020-05-12 13:39:58 -04:00
Julian Bouzas
5ea7e6fc0b object-manager: emit the object-removed signal after the object is removed 2020-05-12 13:37:36 -04:00
George Kiagiadakis
7149745beb daemon: activate all available plugins after the sessions are ready 2020-05-12 18:18:24 +03:00
George Kiagiadakis
d13e411da3 lib: use WP_PROXY_FEATURE_LAST with a shift when declaring additional features
Features are flags, therefore we must NEVER use them without a shift,
otherwise bad mistakes happen, like the previous mistake of declaring
WP_SESSION_FEATURE_LINKS as the number after WP_SESSION_FEATURE_ENDPOINTS,
which ended up being (WP_SESSION_FEATURE_ENDPOINTS | WP_PROXY_FEATURE_PW_PROXY)
and it was always becoming available together with the ENDPOINTS feature.
2020-05-12 18:18:24 +03:00
George Kiagiadakis
e9c51653af modules: port config-endpoint to use WpPlugin 2020-05-12 18:18:24 +03:00
George Kiagiadakis
e63bf86995 lib: add a WpPlugin class
This serves as a base class for daemon plugins, which are implemented
inside modules
2020-05-12 18:18:21 +03:00