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
George Kiagiadakis
51272907fe
registry: expose tmp globals in the order they appeared on the pw registry
...
some code is expecting things to happen in that order...
2020-02-14 17:19:26 +02:00
George Kiagiadakis
813351bcdf
registry: safely destroy proxy when its initial augment is still in progress
...
... in case the global is removed from the registry before
the initial augment completes
2020-02-14 17:19:15 +02:00
George Kiagiadakis
269b9e1998
registry: use a temporary globals list
...
When a new global is created, it is not certain
if the registry global event or the proxy bound event will
be fired first. In order to make sure we associate all
proxies to their WpGlobals correctly, we now wait a core sync
before exposing globals to the object managers, so that in case
the implementation proxy receives the bound event after the
registry creates the WpGlobal, we can make sure to use this
proxy instead of constructing a new one through the object managers
2020-02-14 17:18:58 +02:00
George Kiagiadakis
87cc64b40b
module-session: export session after the core is connected
...
wp_exported_export() used to do that internally, but it's cleaner
to do it this way now
2020-02-14 17:18:58 +02:00
George Kiagiadakis
753e708544
object-manager: refactor to be able to track locally created proxies
...
There are 3 kinds of WpProxy objects:
* the ones that are created as a result of binding a global
from the registry
* the ones that are created as a result of calling into a remote
factory (wp_node_new_from_factory, etc...)
* the ones that are a local implementation of an object
(WpImplNode, etc...) and are exported
Previously the object manager was only able to track the first kind.
With these changes we can now also have globals associated with
WpProxies that were created earlier (and caused the creation of the global).
This saves some resources and reduces round-trips (in case client
code wants to change properties of an object that is locally
implemented, it shouldn't need to do a round-trip through the server)
2020-02-14 17:12:23 +02:00
George Kiagiadakis
a92e1a64ec
global & object-manager: use GType instead of the pipewire type
2020-02-12 14:15:51 +02:00