Commit graph

604 commits

Author SHA1 Message Date
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
b7566793b7 session-item: make WpSiTransition more generic to reuse it in _default_export() 2020-03-31 16:11:08 +03:00
George Kiagiadakis
1cc2837562 lib: add proxy & impl class for PW_TYPE_INTERFACE_EndpointStream 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
763156e9f8 session-item: add an _activate_finish() method 2020-03-29 15:02:59 +03:00
George Kiagiadakis
dec8699728 session-item: implement default activation sequence with no steps
This allows activating a dummy item for unit testing
2020-03-29 15:02:59 +03:00
George Kiagiadakis
865b6ba535 modules: softdsp-endpoint: disable exporting with WpImplEndpoint 2020-03-29 15:02:59 +03:00
George Kiagiadakis
7b20baa671 modules: drop module-session 2020-03-29 15:02:59 +03:00
George Kiagiadakis
37d3c56d42 session-item: remove get_config_spec, in favor of using WpSiFactory 2020-03-29 15:02:59 +03:00
George Kiagiadakis
0c455a0c11 si-adapter: port to use WpSiFactory 2020-03-29 15:02:59 +03:00
George Kiagiadakis
fc4fa4ca8a lib: implement WpSiFactory, a factory for session items 2020-03-29 15:02:59 +03:00
George Kiagiadakis
51f7897aa1 modules: implement the "adapter" session item, as a reference 2020-03-29 15:02:59 +03:00
George Kiagiadakis
374c3dc9e2 lib: initial version of the WpSessionItem interfaces 2020-03-29 15:02:59 +03:00
George Kiagiadakis
32dd485649 lib: implement WpSessionItem base class 2020-03-29 15:02:59 +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
c2dfec2184 monitor: add dbus-reservation flag 2020-03-20 14:01:22 -04:00
Julian Bouzas
8887cce5b4 modules: add monitor reservation data API 2020-03-20 14:01:22 -04:00
Julian Bouzas
daa8091666 modules: add monitor dbus device reservation API with unit tests 2020-03-20 14:01:20 -04:00
Julian Bouzas
9c44900e68 config-policy: fix endpoint refcount issues 2020-03-17 12:06:21 -04:00
Julian Bouzas
8adde3df75 tests: don't load unneeded audioconvert plugin in config-policy tests 2020-03-10 12:50:27 -04:00
Julian Bouzas
91eb754b96 softdsp-endpoint: simplify and remove object_safe_new_finish function 2020-03-03 13:27:18 -05:00
Julian Bouzas
268f97e7bc docs: add test examples for pulseaudio, jack and video clients 2020-03-03 13:27:18 -05:00
Julian Bouzas
d9abbf811f config: make default configuration for desktop and create a separate one for automotive 2020-03-03 13:27:18 -05:00
Julian Bouzas
8646a3b003 modules: add WpVideoEndpoint sub-class to handle video 2020-03-03 13:27:15 -05:00
Julian Bouzas
60bdea1ed6 modules: add jack-device module 2020-03-03 11:14:13 -05:00
Julian Bouzas
e4d895902c config-static-nodes: skip devices without WP_PROXY_FEATURE_INFO 2020-02-28 10:59:42 -05:00
Julian Bouzas
d3df321e3d config-endpoint-context: skip nodes with null media-class 2020-02-28 10:48:43 -05:00
George Kiagiadakis
ca8d100b3f meson: temporarily add check to conditionally enable the fade functionality
and in case it's missing, also #define some things to make compilation work,
since this is only available in a pipewire branch right now
2020-02-28 13:25:35 +02:00
Julian Bouzas
a861e47643 config-policy: fade in/out when streams are linked/unlinked 2020-02-27 08:39:15 -05:00
Julian Bouzas
64f131cbdd tests: implement begin_fade vmethod on WpFakeEndpoint 2020-02-27 08:39:15 -05:00
Julian Bouzas
8c674b9f69 base-endpoint: add wp_base_endpoint_begin_fade API 2020-02-27 08:39:15 -05:00
Julian Bouzas
b1d03cd637 stream: add wp_audio_stream_begin_fade API 2020-02-27 08:39:15 -05:00
Julian Bouzas
620f95b628 core: add source nullable parameter in _idle_add and _timeout_add APIs 2020-02-27 08:39:10 -05:00
Julian Bouzas
5abdc2fb9e core: add wp_core_timeout_add API 2020-02-27 08:37:15 -05:00
Julian Bouzas
eaea2156cb stream: create an audio-fade-source control node if there is a control port 2020-02-27 08:37:15 -05:00
Julian Bouzas
16cdac6dd6 convert/adapter: enable control port if input direction 2020-02-27 08:37:15 -05:00
Julian Bouzas
2439cab55f convert: use factory name SPA macro 2020-02-27 08:37:15 -05:00
Julian Bouzas
8aa695770c tests: config-policy: run the main loop in the same thread 2020-02-26 15:51:58 -05:00
Julian Bouzas
3fd65ac964 tests: config-endpoints: run the main loop in the same thread 2020-02-26 11:37:23 -05:00
Julian Bouzas
fefa4b9191 config-endpoint-context: add _get_length API 2020-02-26 11:36:09 -05:00
Julian Bouzas
266b5422f2 tests: config-static-nodes: run the main loop in the same thread 2020-02-26 11:14:52 -05:00
Julian Bouzas
49716f603c config-static-nodes-context: add _get_length API 2020-02-26 11:05:02 -05:00
Julian Bouzas
46aaa9ef4f tests: fix memleak when destroying test server 2020-02-25 15:40:39 -05:00
Julian Bouzas
8e719eb47c config-static-nodes: use WP_PROXY_FEATURES_STANDARD when agumenting static nodes
This will solve a possible race condition in the unit test when destroying the
autotestsrc proxy while its node_event_info is being called.
2020-02-25 09:57:02 -05:00
George Kiagiadakis
d4973363ac lib: add extensive API documentation 2020-02-19 10:43:07 +02:00
George Kiagiadakis
77bb816b52 registry: change _prepare_new_global() to return the global in a less awkward way
the global is stored internally and the returned ref is only useful
in the WpProxy code, not in the registry_global() event
2020-02-17 18:41:36 +02:00
George Kiagiadakis
c46a48d13f registry: hide again the WpCore struct, separate registry and core better 2020-02-17 18:31:03 +02:00
George Kiagiadakis
0b55729e06 registry: set a free func in the globals list
it doesn't matter, because we don't use it, but for the sake of readability
2020-02-17 16:43:47 +02:00
George Kiagiadakis
949100c9c0 object-manager: reorder code in object-manager.c 2020-02-14 17:19:41 +02:00
George Kiagiadakis
472d63e1b0 registry: fix internal documentation 2020-02-14 17:19:35 +02:00