George Kiagiadakis
5a0028886b
m-config-policy: refactor the target search logic and add debug messages
...
- fall back to the default logic if node.target is set but it doesn't exist
- use the default endpoint if it is within the [target-endpoint] matches;
this way we can use a config file to override just the stream name,
for instance, while still respecting the default endpoint
- prefer use of the lookup methods instead of manual iterations
previously the default endpoint was not respected because our config
files have a [target-endpoint] table..
2020-06-02 13:09:00 +03:00
George Kiagiadakis
e4e60c2ece
endpoint-stream: add GObject property to access the name
2020-06-02 13:09:00 +03:00
George Kiagiadakis
8c40bbbce0
endpoint: add GObject properties to access the name, media-class & direction
2020-06-02 13:09:00 +03:00
George Kiagiadakis
0bba0c0df1
properties: fix const-ness warnings
2020-06-02 13:09:00 +03:00
George Kiagiadakis
78209c48c7
endpoint/endpoint-stream: remove useless virtual methods
...
they are not useful anymore because we hijack priv->info from the
impl subclass, so that it points to the impl info struct,
and therefore the base implementations work just fine
2020-06-02 13:09:00 +03:00
George Kiagiadakis
e944abbcd5
si-standard-link: associate links with endpoint-links
2020-06-02 13:09:00 +03:00
Julian Bouzas
128b67e265
src: config: update default configuration to handle nodes created by the jack device
2020-06-01 20:05:03 -04:00
Julian Bouzas
4212d68d9c
m-config-endpoint: show a warning if endpoint failed to activate or export
2020-06-01 20:05:03 -04:00
Julian Bouzas
69dfe0e203
m-device-activation: use wp_core_timeout_add_closure instead of wp_core_timeout_add in reserve node API
2020-06-01 20:05:03 -04:00
Julian Bouzas
3e12d239ef
m-device-activation: sync with core before activating to make sure jack-device is exported
2020-06-01 20:05:03 -04:00
Julian Bouzas
2c64dd4476
reserve-device: enable/disable jack-device if audio device is owned/unowned by the JACK server
2020-06-01 20:05:03 -04:00
Julian Bouzas
27fa7ff619
reserve-device: show info instead of warning when devices could not be acquired
2020-06-01 20:05:03 -04:00
Julian Bouzas
c97eccea16
tests: dbus-device-reservation: free the string properties
2020-06-01 20:05:03 -04:00
Julian Bouzas
7ba93fa3a1
dbus-device-reservation: use the Get method when requesting a property
2020-06-01 20:05:03 -04:00
Julian Bouzas
882b627662
dbus-device-reservation: make sure pending_task is always NULL before returning
...
This allows dbus requests to be done inside the task callback
2020-06-01 20:05:03 -04:00
Julian Bouzas
05401c772f
m-device-activation: remove assertion in dbus device reservation API when failing to own bus
2020-06-01 20:05:03 -04:00
Julian Bouzas
522c9ea956
reserve-device: release reservation when release signal is triggered
2020-06-01 20:05:03 -04:00
Julian Bouzas
5323ee14a5
dbus-device-reservation: emit forced 'release' signal when name is lost and pending task is NULL
2020-06-01 20:05:03 -04:00
Julian Bouzas
d11c67fe98
dbus-device-reservation: change the forced param type from the 'release' signal to boolean
2020-06-01 20:05:03 -04:00
George Kiagiadakis
811ccc9fd0
wpctl: add inspect command
2020-06-01 19:04:50 +03:00
George Kiagiadakis
64347e67e2
tests: si-standard-link: test that endpoint-link properties are set
2020-06-01 19:03:39 +03:00
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