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
78cdf4b8e6
debug: use the "default" domain to log messages without a domain
...
This allows filtering messages without a domain using WIREPLUMBER_DEBUG
2020-04-15 18:33:33 +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
5bf40e86cb
endpoint: fix compiler warnings
2020-04-14 15:18:44 +03:00
George Kiagiadakis
2ac6210b6d
Merge branch 'master' into next
2020-04-14 15:17:01 +03:00
George Kiagiadakis
ecbcabdc05
debug: add support for redirecting pipewire's log to the glib one
2020-04-14 14:59:55 +03:00
George Kiagiadakis
c80b87208b
lib: add a debug logging system
...
This extends GLib's logging system, so it is compatible with
g_debug() and friends, but it uses a better logging format and
supports filtering debug domains with wildcards, like in gst.
2020-04-14 12:16:41 +03:00
Julian Bouzas
8c209ecf48
lib: add spa pod API
2020-04-13 13:32:04 -04:00
George Kiagiadakis
5d74bceac0
endpoint: implement create_link()
2020-04-11 11:05:26 +03:00
George Kiagiadakis
0e855d854a
modules: implement si-standard-link, the default WpSiLink implementation
2020-04-11 11:05:09 +03:00
Julian Bouzas
b79fcf9418
lib: add spa type API
2020-04-09 13:09:57 -04:00
George Kiagiadakis
9ac59f05e0
endpoint-link: use the session item's activation state to implement the link's state
2020-04-09 19:27:33 +03:00
George Kiagiadakis
f713cbee11
session-item: decouple reset from deactivate and export from activate
...
* It should be possible to activate/deactivate while an item
is exported (if the item supports it, but that's a subclass matter)
* It should be possible to deactivate without resetting configuration
2020-04-09 19:24:42 +03:00
Julian Bouzas
5846fb919f
lib: add iterator base class API
2020-04-07 14:18:11 -04:00
George Kiagiadakis
27d1fd1ddd
session-item: enable all standard endpoint features
2020-04-01 15:37:43 +03:00
George Kiagiadakis
fd358a643a
session: add FEATURE_LINKS, a feature to cache endpoint link proxies
2020-04-01 13:53:45 +03:00
George Kiagiadakis
4a1a19d7cd
session: add FEATURE_ENDPOINTS, a feature to cache endpoint proxies
2020-04-01 13:38:39 +03:00
George Kiagiadakis
edd50570f5
session: port to use PW_TYPE_INTERFACE_Session on the implementation
2020-04-01 13:06:18 +03:00
George Kiagiadakis
a0521deaa5
session-item: implement exporting endpoint links
2020-03-31 19:40:49 +03:00
George Kiagiadakis
17d4b46144
endpoint & stream: use wp_session_item_get_associated_proxy_id()
2020-03-31 19:31:54 +03:00
George Kiagiadakis
cbc2e51d14
lib: implement proxy & impl for PW_TYPE_INTERFACE_EndpointLink
2020-03-31 19:26:56 +03:00
George Kiagiadakis
a1f47d0627
session-item: add _get_associated_proxy_id method
...
To ease the use case where we are only interested in the id
and not the proxy object itself
2020-03-31 19:26:05 +03:00
George Kiagiadakis
bb78b6bbc7
doc: remove references to WpImplEndpoint that is now private
2020-03-31 16:11:08 +03:00
George Kiagiadakis
4adf6105ba
endpoint: implement FEATURE_STREAMS
...
This feature enables the caching of WpEndpointStream objects
inside WpEndpoint, making information about streams readily
accessible to the user of an endpoint
2020-03-31 16:11:08 +03:00
George Kiagiadakis
c078a97d77
proxy: add 'bound' signal
2020-03-31 16:11:08 +03:00
George Kiagiadakis
c06317ac3b
object-manager: add _get_n_objects() method
2020-03-31 16:11:08 +03:00
George Kiagiadakis
69ea11ca61
endpoint: improve impl
2020-03-31 16:11:08 +03:00
George Kiagiadakis
25d8e5e375
object-manager: look into the proxy object when checking constraints on a global
...
This allows having constraints on the pw properties and the GObject
properties of the proxy, instead of just on the global properties.
This is only useful for constraints on impl proxies, since the globals
coming from the registry don't have a proxy object associated at the
time they are added in the object managers
2020-03-31 16:11:08 +03:00
George Kiagiadakis
012b2c7383
endpoint-stream: improve impl
2020-03-31 16:11:08 +03:00
George Kiagiadakis
fe82ce9f0d
properties: add wp_properties_ensure_unique_owner() method
2020-03-31 16:11:08 +03:00
George Kiagiadakis
1f1c690b42
properties: remove _copy_keys and add update/add methods similar to the ones in pw_properties
2020-03-31 16:11:08 +03:00
George Kiagiadakis
d7ef39d2d1
properties: rename _copy_all() to _update() to match the pw_properties API
...
... and use pw_properties_update() underneath
2020-03-31 16:11:08 +03:00
George Kiagiadakis
306f75d321
session-item: implement and use _get_associated_proxy() API
2020-03-31 16:11:08 +03:00
George Kiagiadakis
1a45e6504f
object-manager: fix crash when global is removed before it was added in the globals list
2020-03-31 16:11:08 +03:00
George Kiagiadakis
c8f83c99dc
session-item: export streams
2020-03-31 16:11:08 +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
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