George Kiagiadakis
a9edb65eab
m-monitor: fix icon name when device.bus is NULL
2020-06-10 18:12:43 +03:00
George Kiagiadakis
8d77793a2a
improve some debug logs
2020-06-10 12:53:22 +03:00
George Kiagiadakis
7a486f1f7c
impl-node: subclass from GObject
...
By mistake, WpImplNode was developed by keeping in mind that the proxy
returned by pw_core_export() is a PW_TYPE_INTERFACE_Node, but this
is not true. It's actually a ClientNode...
Unfortunately, making WpImplNode work as if it was a WpNode is
not so easy, especially when it comes to handling params, which
need to be queried syncrhonously on the underlying spa_node.
So, instead of fixing WpImplNode to work as a WpNode, we choose to
disconnect them. This way, WpImplNode will not be used as a proxy
in the registry and the registry will normally create WpNode proxies
instead, making round-trips through the server to change node params.
2020-06-10 11:12:11 +03:00
Julian Bouzas
3add067254
m-device-activation: always activate bluez5 devices
2020-06-08 14:04:57 -04:00
Julian Bouzas
9f39706877
reserve-device: acquire device if it has no owner for at least 3 seconds
2020-06-07 16:28:44 -04:00
Julian Bouzas
cd3401bcb5
dbus-device-reservation: add owner-appeared/owner-vanished signals, and remove acquired callback
2020-06-07 16:28:44 -04:00
Julian Bouzas
c8582d255e
reserve-device: don't increment jack_n_acquired if it is 0 and use the updated value when setting data
2020-06-07 16:28:18 -04:00
Julian Bouzas
371e6f90ac
reserve-device: clean jack device activation logic
2020-06-05 14:26:06 -04:00
George Kiagiadakis
ed7fa050c5
m-config-endpoint: debug config file matches
2020-06-03 20:28:26 +03:00
Julian Bouzas
3c36f20d23
src: config: add jack.device file and removed jack device module
2020-06-02 12:24:47 -04:00
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
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
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
e944abbcd5
si-standard-link: associate links with endpoint-links
2020-06-02 13:09:00 +03: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
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
Julian Bouzas
ef47954e07
m-config-static-nodes: use wireplumber log
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
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
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
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