Commit graph

1088 commits

Author SHA1 Message Date
Julian Bouzas
f86a5efcd5 wpctl: list nodes and allow setting default nodes 2021-03-26 16:16:02 -04:00
Julian Bouzas
b7e347d92c modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter 2021-03-26 16:16:02 -04:00
Julian Bouzas
59cb837075 tests: si-standard-link: use new si-audio-endpoint 2021-03-26 16:16:02 -04:00
Julian Bouzas
325522ae51 modules: add si-audio-endpoint session item 2021-03-26 16:16:02 -04:00
Julian Bouzas
e3cc3c330d src: scripts: add policy-node.lua to link port info session items 2021-03-26 16:16:02 -04:00
Julian Bouzas
32fea4057c src: config: rename endpoint-support to session-item-support 2021-03-26 16:16:02 -04:00
Julian Bouzas
04992f0d07 modules: remove si-monitor module
It is not needed as si-standard-link can be configured with port contexts
2021-03-26 16:16:02 -04:00
Julian Bouzas
f6ed14f997 src: scripts: add create-item.lua and remove create-endpoint.lua 2021-03-26 16:16:02 -04:00
Julian Bouzas
0d71565d63 m-si-standard-link: set out-item-id and in-item-id properties 2021-03-26 16:16:02 -04:00
Julian Bouzas
ec30336fcf session-item: add id property
Makes it easier when handling session items in Lua
2021-03-26 16:16:02 -04:00
Julian Bouzas
c0143b5f18 m-si-audio-adapter: ensure ports are available before enabling active 2021-03-26 16:16:02 -04:00
Julian Bouzas
06c12fe7c2 m-lua-scripting: add get_associated_proxy session item Lua API 2021-03-26 16:16:02 -04:00
Julian Bouzas
ebf52adb21 si-interfaces: make WpSiLink work with WpSiPortInfo instead of WpSiEndpoint 2021-03-26 16:16:02 -04:00
Julian Bouzas
64cf2bd644 si-interfaces: rename WpSiEndpointAcquisition to WpSiAcquisition
The get_endpoint_acquisition() vmethod has also been moved to WpSiPortInfo, and
therefore renamed to get_acquisition().
2021-03-26 16:16:02 -04:00
Julian Bouzas
13fc0adb22 m-si-standard-link: use a weak reference for in and out endpoints
Allows checking if the endpoints are still valid before releasing the
acquisition. Sometimes the endpoints are destroyed before the link, and
releasing acquisition is not needed. There is no way to check that with raw
pointers.
2021-03-26 16:15:38 -04:00
Julian Bouzas
0bef8280d7 m-si-standard-link: fix in-endpoint check when configuring 2021-03-26 15:56:07 -04:00
George Kiagiadakis
bed43a481a wplua: sort properties after transfering them from lua 2021-03-26 19:07:56 +02:00
George Kiagiadakis
eeccb24017 properties: add wp_properties_sort()
Depends on pipewire!555 to avoid breaking stuff
2021-03-26 19:06:06 +02:00
George Kiagiadakis
95bb22efe2 monitor-alsa: add api.alsa.card.* properties on nodes
Useful for rule matching on nodes where the rules are also matching
properties of the card.
2021-03-26 17:29:25 +02:00
George Kiagiadakis
dd887a7b3e bluez5: autoconnect bluetooth stream nodes 2021-03-25 18:13:47 +02:00
George Kiagiadakis
c1f1614eb6 object: deactivate only the features that were previously active 2021-03-25 18:13:11 +02:00
George Kiagiadakis
5c84f58b9e bluez5: use api.bluez5.connection-info
This creates devices earlier, allowing the use of per-device
codec configuration via the standard rules

See pipewire/pipewire!509
2021-03-25 18:12:41 +02:00
Julian Bouzas
d71cace24f m-si-convert: rename to si-audio-convert
Because it is only meant to be used with audio nodes
2021-03-18 15:00:22 -04:00
Julian Bouzas
340213272e m-si-adapter: rename to si-audio-adapter
Because it is only meant to be used with audio nodes
2021-03-18 14:47:22 -04:00
Julian Bouzas
cf102c5604 tests: session-item: add registration test
Also simplifies all tests using base-test-fixture.h
2021-03-18 14:30:11 -04:00
Julian Bouzas
17873c3ace object-interest: add support for session item properties 2021-03-18 14:30:11 -04:00
Julian Bouzas
3aef916d51 session-item: add _register and _remove API
Allows using object managers to listen for registered items
2021-03-18 14:30:11 -04:00
Julian Bouzas
120aab04ae session-item: refactor and inherit from WpObject
This adds WP_SESSION_ITEM_FEATURE_ACTIVE and WP_SESSION_ITEM_FEATURE_EXPORTED
features, so _activate and _export APIs have been removed. Modules and unit
tests have also been updated.
2021-03-18 14:30:05 -04:00
Julian Bouzas
5a11510e21 session-bin: remove unused wp_session_bin_new API 2021-03-18 12:10:37 -04:00
Julian Bouzas
5a1dfc02d2 lib: make WpImplEndpoint and WpImplEndpointLink public 2021-03-18 12:10:37 -04:00
Julian Bouzas
39ef6df7ce m-si-adapter: rename algorithms to audio-utils 2021-03-18 12:10:37 -04:00
Julian Bouzas
2747d21de2 m-si-monitor-endpoint: rename to si-monitor 2021-03-18 12:10:37 -04:00
Julian Bouzas
b10a5b6b49 m-si-simple-node-endpoint: rename to si-node 2021-03-18 12:10:37 -04:00
Julian Bouzas
12b2c00d0b lib: remove WpEndpointStream API
Add all that goes with it.
2021-03-18 12:10:37 -04:00
George Kiagiadakis
9609a79903 wp_init: set PIPEWIRE_DEBUG
It is inevitable to avoid setting PIPEWIRE_DEBUG, because the
log.level from client.conf will kick in and change the pipewire log
level when the pw_context is created. PIPEWIRE_DEBUG is the only
way to override.
2021-03-16 17:45:30 +02:00
George Kiagiadakis
faff5c644c spa-device: do not assert if the activation transition fails 2021-03-16 16:15:32 +02:00
Julian Bouzas
c158dfc020 m-default-routes: return if default routes for a device are not found
Avoids unneeded assertion error messages.
2021-03-15 07:52:57 -04:00
Julian Bouzas
6e716c9baa m-default-routes: relax some warning logs to debug 2021-03-15 07:52:57 -04:00
Julian Bouzas
1b5980476b m-lua-script: add object_deactivate API 2021-03-15 07:52:57 -04:00
Julian Bouzas
003afc3e7b m-lua-script: add closure for object_activate API 2021-03-15 07:52:55 -04:00
Julian Bouzas
5e69a82d4b object: add wp_object_activate_closure API 2021-03-13 20:10:30 -05:00
Julian Bouzas
73e9e37d93 ci: use 'disabled' instead of 'false' when configuring pipewire 2021-03-13 20:10:30 -05:00
Julian Bouzas
ab04334448 m-lua-scripting: add WpSessionBin add API
Needed when adding streams to softdsp endpoints
2021-03-04 14:18:41 -05:00
George Kiagiadakis
5a0a4532d7 lib: remove WpConfiguration
it's not used anymore
2021-03-04 19:11:53 +02:00
George Kiagiadakis
7eed2acd76 lib: documentation fixes 2021-03-04 19:10:10 +02:00
George Kiagiadakis
15a74052a1 lua/api: add Link() constructor 2021-03-03 13:15:13 +02:00
Arnaud Ferraris
bf72973db4 module-default-routes: store/restore route properties
This commit enhance `module-default-routes` so that the route properties
(such as volume, channel map...) are saved on modification, and re-applied
each time a particular route is selected.
2021-03-02 18:17:56 +01:00
Arnaud Ferraris
b63b172b0a module-device-activation: apply default route on each new device
This commit modifies `module-device-activation` so that it can restore
the default routes when a device appears.
2021-03-02 18:17:56 +01:00
Arnaud Ferraris
a499e02ad9 modules: add module-default-routes for storing/restoring routes
This commit adds a WirePlumber module which stores the current route for
a given device, and implements the necessary interfaces to restore those
on startup.

The routes are stored as an array of objects in JSON format.

Please note that actually restoring routes on startup is not done by this
module but will be implemented separately in a future commit.
2021-03-02 18:17:56 +01:00
George Kiagiadakis
79ba66e46b lua/api: default Constraint type always to pw-global
now that interest is declared on G_TYPE_OBJECT by default
(in optional Interest function arguments), this conditional default
no longer works as expected...

besides, it may be confusing to have a different default depending
on the interest type
2021-03-02 18:26:34 +02:00