Julian Bouzas
ef2e892341
m-config-static-objects: add device parser to create static devices
2020-06-02 12:24:47 -04:00
Julian Bouzas
d3cb1bd84d
modules: rename config-static-nodes to config-static-objects
2020-06-02 12:24:47 -04:00
George Kiagiadakis
a3cf986188
proxy: fix recursion crash in _set_feature_ready
2020-06-02 19:21:04 +03:00
George Kiagiadakis
e1e6411e19
proxy: when requesting Props, only try to enum them if the proxy supports them
...
otherwise we get stuck waiting for the param event
and we get warnings on the debug log
2020-06-02 19:09:18 +03:00
George Kiagiadakis
8627fdf1a0
proxy: fix crash when _augment_error() is called recursively from within itself
2020-06-02 18:37:42 +03:00
George Kiagiadakis
e1139fcf04
meson: bump version for 0.3.0 RC1
2020-06-02 18:37:13 +03:00
George Kiagiadakis
c8b11fad42
lib: add a version header
2020-06-02 18:26:40 +03:00
George Kiagiadakis
4879937620
wpctl: actually print the endpoint description also on links
2020-06-02 18:25:34 +03:00
George Kiagiadakis
651701a471
endpoint: use the node.name as the endpoint name and add endpoint.description
...
endpoint.description is now the user-friendly string
we want the endpoint name to be machine-friendly because it's
the identifier that we store in m-session-settings
2020-06-02 17:46:35 +03:00
George Kiagiadakis
b17dab8c9b
spa-device: delay activation until after the device is exported
...
this allows the created nodes to be able to set their "device.id"
property correctly
2020-06-02 17:24:14 +03:00
George Kiagiadakis
3807d95ec5
m-monitor: update node properties to match the ones that media-session sets
2020-06-02 15:51:13 +03:00
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