Commit graph

680 commits

Author SHA1 Message Date
George Kiagiadakis
d8a42d2ec3 Revert "lib: return empty WpProperties if the info struct has no properties on SM objects"
This reverts commit 917a019b01.
2020-06-01 18:29:28 +03:00
George Kiagiadakis
917a019b01 lib: return empty WpProperties if the info struct has no properties on SM objects 2020-06-01 17:48:54 +03:00
George Kiagiadakis
a7d657a196 object-manager: do not accept globals without a WpProxy subclass 2020-06-01 17:48:31 +03:00
George Kiagiadakis
6aba49f9e3 properties: implement a wp_properties_iterate() method 2020-06-01 12:07:36 +03:00
George Kiagiadakis
1983b6fb33 tools: refactor wireplumber-cli and rename it to wpctl 2020-05-31 12:38:11 +03:00
George Kiagiadakis
a30761c2f4 registry: forcibly add 'object.id' on all global properties
so that we can filter proxies by id on object managers
2020-05-31 12:19:47 +03:00
George Kiagiadakis
564e8a0db3 object-manager: fix iterator fold object access 2020-05-31 12:18:29 +03:00
George Kiagiadakis
5dfe688c35 endpoint: enable FEATURE_PROPS on streams when FEATURE_STREAMS is enabled 2020-05-31 12:17:52 +03:00
George Kiagiadakis
9ae7071134 props: refactor WpSpaProps into WpProps
- make it a GObject so that it can emit its own signals
and so that it can be shared between multiple proxies
- share the WpProps instance between endpoints, endpoint-streams
and their underlying nodes
- introduce the concept of the caching mode that redirects _set
to _set_param of the proxy that actually has the props; this allows
shared WpProps to actually set changes on the correct proxy
in a transparent way
- change methods to consume the ref of the pod and reflect that
also on wp_proxy_set_prop()
- refactor the export process on endpoints & endpoint-streams
so that they always get all the required features (info, props, bound)
and make it async so that we can take time to prepare the underlying
node to have FEATURE_PROPS
- update the props & endpoint unit tests, bringing back all the
checks that the endpoint unit test used to have
2020-05-29 18:47:16 +03:00
Julian Bouzas
ef47954e07 m-config-static-nodes: use wireplumber log 2020-05-29 08:43:36 -04:00
Julian Bouzas
908a7ffbc3 src: config: add midi.node to create the MIDI node at startup 2020-05-29 08:43:36 -04:00
Julian Bouzas
da63c05e76 m-config-static-nodes: remove unneeded 'conected' callback and create static nodes when the plugin is activated 2020-05-29 08:43:36 -04:00
Julian Bouzas
9667cccb5a modules: move monitor device activation logic into a new device-activation module 2020-05-26 11:52:44 -04:00
Julian Bouzas
5a9cb7688a m-monitor: set the device id property when creating nodes 2020-05-26 11:29:18 -04:00
Julian Bouzas
3ad875a624 m-monitor: add device reservation data when device is augmented 2020-05-26 11:29:18 -04:00
Julian Bouzas
daa8b8f5c0 modules: add node-suspension module
This module suspends a node if idle for at least 3 seconds
2020-05-26 11:29:18 -04:00
Julian Bouzas
182d4d6276 node: add send command API 2020-05-26 11:29:18 -04:00
Julian Bouzas
469c35edc8 m-monitor: remove monitor prefix from dbus device reservation API 2020-05-26 11:29:18 -04:00
Julian Bouzas
ac87822d6a m-monitor: rename device reservation data API to reserve device 2020-05-26 11:28:51 -04:00
Julian Bouzas
bc385d24bd m-monitor: rename node reservation data API to reserve node and move it to a separated file 2020-05-26 10:44:16 -04:00
Julian Bouzas
3ea183a53d m-jack-device: port to WpPlugin 2020-05-25 17:04:25 -04:00
Julian Bouzas
0d93ccff8c m-monitor: port to WpPlugin 2020-05-25 17:04:25 -04:00
George Kiagiadakis
666cd10b6d algorithms: cleanup unused code 2020-05-25 19:06:52 +03:00
George Kiagiadakis
162c1d4574 session: fix the default-endpoint prop
* Use a direction instead of a string prop id
* Emit default-endpoint-changed again
* Get rid of the useless virtual methods
2020-05-25 18:56:21 +03:00
George Kiagiadakis
8a94937b2a proxy: refactor how PARAM_Props/PropInfo are handled
+ rename FEATURE_CONTROLS to FEATURE_PROPS
+ add accessor for the standard spa_param_info (info->params)
+ hide the low-level params API that nobody uses
2020-05-25 18:54:41 +03:00
George Kiagiadakis
b8d1f40111 iterator: add a generic GPtrArray iterator implementation 2020-05-25 18:54:41 +03:00
George Kiagiadakis
1f2e2b7fc4 debug: add mechanism to debug spa pods
-> wp_trace_boxed (WP_TYPE_SPA_POD, pod, "some message");
2020-05-25 18:54:41 +03:00
Julian Bouzas
93ce770052 config-policy: handle the endpoint node target property when finding a target 2020-05-21 09:47:56 -04:00
Julian Bouzas
5af66bb547 modules: copy node target property in adapter and simple-node-endpoint 2020-05-21 09:47:56 -04:00
Julian Bouzas
bf4116f7d2 config-endpoint: create extra si-monitor-endpoint if enable-monitor is true 2020-05-21 09:47:56 -04:00
Julian Bouzas
ab1d8aafde modules: add new si-monitor-endpoint module 2020-05-21 09:47:56 -04:00
Julian Bouzas
ee4e40ba1e modules: add 'monitor' context when getting ports in adapter and simple-node-endpoint 2020-05-21 09:47:56 -04:00
Julian Bouzas
d5f167b7db modules: fix small direction issue when getting the ports in adapter and simple-node-endpoint 2020-05-21 09:47:56 -04:00
Julian Bouzas
2660e13c4a config: enable monitor ports on audio sinks 2020-05-21 09:47:56 -04:00
George Kiagiadakis
b807b666a0 debug: don't crash if an object is NULL in wp_*_object() and point it out in the log
by using G_TYPE_NONE (== 1), we can pass this in the log handler
to point out the fact that we expected something but it's null

As a bonus, a null object always gets printed in red because that's
the first color in object_colors
2020-05-20 18:27:09 +03:00
George Kiagiadakis
a54ff34863 m-client-permissions: port to WpPlugin 2020-05-20 18:26:36 +03:00
George Kiagiadakis
7428d20c94 proxy: add a wp_proxy_get_property() method to get a single pw property 2020-05-20 18:08:35 +03:00
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