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
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
George Kiagiadakis
fbddccd5bf
tests: session-item: add basic export operation tests
2020-04-16 17:57:21 +03:00
George Kiagiadakis
49b63b6045
session-item: refactor export to use a process similar to activate
...
+ expose the export transition in the session item class
+ make the export-related flags immutable
+ add an export error flag
+ update and improve documentation
2020-04-16 17:38:31 +03:00
George Kiagiadakis
441a778b2e
session-item: introduce a rollback() virtual method
...
+ replace calling execute_step(..., STEP_ERROR) with rollback
+ implement deactivate internally using rollback
This unifies deactivation steps, which are common between deactivate()
and calling execute_step() with WP_TRANSITION_STEP_ERROR at the
end of a failed activation transition.
2020-04-16 13:18:21 +03:00
George Kiagiadakis
6b51e5842c
tests: add session-item unit test
2020-04-16 11:55:23 +03:00
George Kiagiadakis
914e2b84df
tests: remove the global G_LOG_DOMAIN to avoid issues with including code from elsewhere
...
including wp/spa-props.c currently re-defines G_LOG_DOMAIN
in the spa-props.c unit test
2020-04-15 18:40:52 +03:00
George Kiagiadakis
9ca342f89f
debug: update all library code to use the new debug system
...
+ enable the new log writer on the executables
+ enable structured logging in the tests
2020-04-14 18:31:17 +03:00
George Kiagiadakis
2ac6210b6d
Merge branch 'master' into next
2020-04-14 15:17:01 +03:00
Julian Bouzas
8c209ecf48
lib: add spa pod API
2020-04-13 13:32:04 -04:00
Julian Bouzas
b79fcf9418
lib: add spa type API
2020-04-09 13:09:57 -04:00
George Kiagiadakis
4a1a19d7cd
session: add FEATURE_ENDPOINTS, a feature to cache endpoint proxies
2020-04-01 13:38:39 +03:00
George Kiagiadakis
79a39e98c9
transition: call execute_step() with _STEP_ERROR in error conditions
...
This allows the implementation to rollback changes, cancel jobs, etc
2020-03-31 16:11:08 +03:00
George Kiagiadakis
405e8ba0d5
session-item / endpoint: implement exporting a WpSiEndpoint
...
* introduces API to export session items
* introduces small changes in the WpSiEndpoint & WpSiStream
interfaces to make it nicer to work with
* ports WpImplEndpoint to use PW_TYPE_INTERFACE_Endpoint
to export. Depends on:
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/246
(was merged after 0.3.2)
2020-03-29 15:18:20 +03:00
George Kiagiadakis
5f169d190f
lib: implement a new WpTransition class
...
This is an asynchronous operation class, like GTask,
but it is made to execute several operations underneath,
using a state machine, instead of just a single operation.
2020-03-29 15:02:59 +03:00
Julian Bouzas
daa8091666
modules: add monitor dbus device reservation API with unit tests
2020-03-20 14:01:20 -04:00
Julian Bouzas
8adde3df75
tests: don't load unneeded audioconvert plugin in config-policy tests
2020-03-10 12:50:27 -04:00