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
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
469c35edc8
m-monitor: remove monitor prefix from dbus device reservation API
2020-05-26 11:29:18 -04: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
7428d20c94
proxy: add a wp_proxy_get_property() method to get a single pw property
2020-05-20 18:08:35 +03: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
895e5d3f33
tests: spa-props: fix memleaks shown with valgrind
2020-05-19 10:18:51 -04:00
George Kiagiadakis
3c8d7da879
Merge remote-tracking branch 'origin/master' into next
2020-05-18 10:25:03 +03:00
George Kiagiadakis
a2b84e27d1
session: rename the default source/sink controls to have shorter names
...
+ use a more correct naming scheme to match the one from Spa
+ remove the default video source, since we now use a different
session for video
2020-05-14 17:31:24 +03:00
George Kiagiadakis
5eecc5b68a
object-manager: remove deprecated API
2020-05-14 16:24:34 +03:00
Julian Bouzas
27ff8d5ef2
modules: port config-static-nodes to use WpPlugin
2020-05-13 11:21:45 -04:00
Julian Bouzas
faa9719f53
modules: port config-policy to use WpPlugin
2020-05-13 11:21:45 -04:00
George Kiagiadakis
68223e0ea3
tests: add unit test for WpCore disconnection
2020-05-13 15:21:10 +03:00
George Kiagiadakis
d13e411da3
lib: use WP_PROXY_FEATURE_LAST with a shift when declaring additional features
...
Features are flags, therefore we must NEVER use them without a shift,
otherwise bad mistakes happen, like the previous mistake of declaring
WP_SESSION_FEATURE_LINKS as the number after WP_SESSION_FEATURE_ENDPOINTS,
which ended up being (WP_SESSION_FEATURE_ENDPOINTS | WP_PROXY_FEATURE_PW_PROXY)
and it was always becoming available together with the ENDPOINTS feature.
2020-05-12 18:18:24 +03:00
George Kiagiadakis
e9c51653af
modules: port config-endpoint to use WpPlugin
2020-05-12 18:18:24 +03:00
Julian Bouzas
6044b23aed
modules: refactor config-policy to use the new session item API
2020-05-12 10:03:29 -04:00
Julian Bouzas
4b7bc92e4b
modules: remove pipewire module and move algorithms to module-si-adapter
2020-05-12 09:47:35 -04:00
George Kiagiadakis
66a0bf6093
lib: implement a wp_init() function
2020-05-11 15:45:09 +03:00
Julian Bouzas
17ee195902
spa-pod: rename wp_spa_pod_iterator_new to wp_spa_pod_iterate
2020-05-11 12:03:43 +03:00
Julian Bouzas
288f1f091b
modules: refactor config-endpoint to use the new session item API
2020-05-11 12:03:43 +03:00
George Kiagiadakis
20708b28c7
examples: add a simple audio session management example
2020-05-11 11:40:55 +03:00
George Kiagiadakis
e8e6c1d8bc
algorithms: allow specifying a preferred number of channels in the format choosing algorithm
2020-05-11 11:40:55 +03:00
George Kiagiadakis
11b99527b5
core: make the properties on wp_core_new to be (transfer full)
...
This aligns better with the general design of consuming property
objects on constructors, both in PipeWire and WirePlumber APIs
2020-05-08 17:12:31 +03:00
Eric Engestrom
80dc7723fc
test/dbus-device-reservation: fix include path
...
The extra `../` only works if the build directory is an immediate child of the
source directory. In all the other configurations this breaks the build.
Dropping the extra `../` makes use of the `-I${SOURCE_DIR}` provided by meson.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
2020-05-08 15:16:50 +02:00
George Kiagiadakis
f24fc53d5a
tests/common: add common function for ensuring an object manager is installed
...
It can be a bit tricky because the "installed" signal may be fired
from inside the context of wp_core_install_object_manager(),
in which case the main loop should not be executed (or it will never quit)
2020-05-07 16:16:45 +03:00
George Kiagiadakis
9db4a54591
session-item: handle destroyed endpoint links
...
We can now call wp_proxy_request_destroy() on endpoint links and
the WpImplEndpointLink together with the session item that created
it will be cleaned up
2020-05-07 16:02:23 +03:00
George Kiagiadakis
6501307d27
tests: add si-standard-link unit test
2020-05-05 18:04:50 +03:00
George Kiagiadakis
23ae8c0d51
tests/si-softdsp-endpoint: add tests for streams
2020-05-04 18:04:53 +03:00
George Kiagiadakis
82b598edbf
tests/si-*: use new WpObjectManager API
2020-05-04 16:29:36 +03:00
George Kiagiadakis
bd9ae98c9b
tests/si-softdsp-endpoint: fix the tests to reflect the latest changes
2020-05-04 16:04:37 +03:00
Julian Bouzas
fc864eb2b3
tests: add export test for si-audio-softdsp-endpoint
2020-05-03 19:54:31 +03:00
Julian Bouzas
791e9170aa
si-interfaces: transfer full when returning from _get_stream_parent_endpoint
2020-05-03 19:54:31 +03:00
Julian Bouzas
e810d32719
tests: add basic test for si-audio-softdsp-endpoint
2020-05-03 19:54:31 +03:00
George Kiagiadakis
bccb160bc2
port some more deprecated object-manager calls
2020-05-03 19:49:21 +03:00
George Kiagiadakis
db40a593b3
lib: implement WpObjectInterest
2020-05-01 19:21:08 +03:00
George Kiagiadakis
444814d753
tests: common: add common callbacks based on the si-simple-node-endpoint test
2020-04-23 17:54:49 +03:00
George Kiagiadakis
1c74a83a5c
tests: si-simple-node-endpoint: add export test
2020-04-23 17:25:57 +03:00
George Kiagiadakis
c1c91ce7d0
tests: add basic test for si-simple-node-endpoint
2020-04-23 15:49:32 +03:00
George Kiagiadakis
fe12e8ab6f
tests: enable WIREPLUMBER_DEBUG and set WIREPLUMBER_MODULE_DIR by default
...
+ better logs by default
+ allow loading modules in tests
2020-04-22 18:39:11 +03:00
George Kiagiadakis
1d157f016a
tests: move common fixture code to WpBaseTestFixture
2020-04-22 18:39:03 +03:00
George Kiagiadakis
4eaa99a698
tests: collect common helpers in the 'common' directory
2020-04-22 17:13:33 +03:00
Julian Bouzas
0045fe03c9
proxy: add set and get control vmethods, and remove them from sub-classes
2020-04-21 16:11:05 -04:00
Julian Bouzas
e08af1baa3
tests: fix redefined warnings when building spa-props test
2020-04-21 16:11:05 -04:00
Julian Bouzas
cfbcb5eca3
proxy: use WpSpaPod instead of struct spa_pod in public API
2020-04-21 16:11:05 -04:00
Julian Bouzas
fe4bef8bbc
spa-pod: fix constness and add get_object_type_name and get_choice_type_name
2020-04-21 16:11:05 -04:00
Julian Bouzas
058f8ae1e0
spa-pod: add wp_spa_pod_equal API
2020-04-21 09:38:36 -04:00