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
Julian Bouzas
21f6309621
config-endpoint: destroy the endpoint when its associated node is destroyed
2020-05-12 13:39:58 -04: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
Julian Bouzas
7e8e6da857
si-standard-link: get the core from the stream node when its endpoint link proxy is not valid
2020-05-12 09:47:27 -04:00
Julian Bouzas
a99fa5272e
si-convert: fix direction and link configuration
2020-05-11 12:47:13 -04:00
Julian Bouzas
104e90c98c
modules: si-adapter: fix segfault when setting priority property
2020-05-11 12:03:43 +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
6537332984
si-adapter: add a config option to specify the preferred number of channels
...
This is mostly useful when using the adapter with audiotestsrc,
which supports an infinite number of channels. By specifying
a preference, we can limit it to the number of channels that we want.
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
9e2aa612d8
si-adapter: return the correct stream parent when the adapter is nested
2020-05-11 11:40:55 +03:00
George Kiagiadakis
29c35ce8aa
si-convert: fix internal link handling
...
* there is just one link, no need for a list
* warn if something goes wrong and don't assert
2020-05-07 17:01:27 +03:00
George Kiagiadakis
3cfd0d3dc8
si-convert: use the "reverse" port context on self for the internal links
2020-05-07 16:54:12 +03:00
George Kiagiadakis
c02bff50cd
si-standard-link: add options to use different port contexts
2020-05-07 16:48:06 +03:00
George Kiagiadakis
cc72b3757c
si-standard-link: manage lifetime internally
2020-05-07 16:38:14 +03:00
George Kiagiadakis
7966a8d456
si-standard-link: fix endpoint linking bugs and add some debug statements
2020-05-05 18:04:05 +03:00
George Kiagiadakis
b74dfdee71
si-convert: cleanup config verification
2020-05-04 18:04:33 +03:00
George Kiagiadakis
015d61ccb4
si-softdsp-endpoint: fix issues with the activation transition
2020-05-04 14:20:44 +03:00
George Kiagiadakis
ba81c1e6fe
si-softdsp-endpoint: do not create si-convert streams internally
...
streams should be provided externally,
the user may choose to create any kind of stream
2020-05-04 14:19:39 +03:00
George Kiagiadakis
874d39d99c
si-softdsp-endpoint: use the adapter's stream if it's the only one
2020-05-04 14:14:24 +03:00
George Kiagiadakis
90c6962a2a
si-convert: construct the node internally and cleanup steps + configuration options
2020-05-04 13:20:06 +03:00
George Kiagiadakis
9df3bb715c
modules/si-*: cleanup included headers
2020-05-04 11:24:14 +03:00
George Kiagiadakis
3cecc18807
adapter: remove spa_pod_fixate fallback
...
This won't work with WpSpaPod, obviously...
2020-05-04 10:36:24 +03:00
George Kiagiadakis
e265d8e5a0
adapter: implement WpSiPortInfo and use node FEATURE_PORTS instead of ports_om
2020-05-04 10:12:35 +03:00
George Kiagiadakis
1ac66d4f62
adapter: fix indentation
2020-05-04 09:45:22 +03:00
George Kiagiadakis
9612d35ca4
si-interfaces: drop the multi-endpoint interface
...
It's not well-defined; we'll come back to that later
2020-05-04 09:35:22 +03:00
George Kiagiadakis
c95ee22702
Revert "modules: si-adapter: set/unser WP_SI_FLAG_CONFIGURED when adapter is configured/reset"
...
This reverts commit 4e8ae293f5 .
2020-05-03 20:10: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
4e8ae293f5
modules: si-adapter: set/unser WP_SI_FLAG_CONFIGURED when adapter is configured/reset
2020-05-03 19:54:31 +03:00
Julian Bouzas
19c91596c8
algorithms: make sure channels is always less or equal to SPA_AUDIO_MAX_CHANNELS
...
Needed when using audiotestsrc with an adapter
2020-05-03 19:54:31 +03:00
Julian Bouzas
63482108df
modules: add si-softdsp-audio-endpoint module
2020-05-03 19:54:31 +03:00
Julian Bouzas
2d186ed681
modules: add si-convert module
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
1c74a83a5c
tests: si-simple-node-endpoint: add export test
2020-04-23 17:25:57 +03:00
George Kiagiadakis
d61b7904f9
modules: fix small issues in the session items
2020-04-23 15:22:32 +03:00
George Kiagiadakis
74df1c425e
modules: implement si-simple-node-endpoint
...
This is a simpler endpoint implementation that does not require
any node setup. It should be good to use with test nodes (fakesrc/fakesink),
V4L2 nodes, and maybe others in the future.
2020-04-22 13:53:14 +03:00
Julian Bouzas
cfbcb5eca3
proxy: use WpSpaPod instead of struct spa_pod in public API
2020-04-21 16:11:05 -04:00
George Kiagiadakis
1dccdcf415
object-manager: replace GPtrArray API with WpIterator
...
+ add the useful _find_proxy() method
2020-04-21 13:21:03 +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
0e855d854a
modules: implement si-standard-link, the default WpSiLink implementation
2020-04-11 11:05:09 +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
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
306f75d321
session-item: implement and use _get_associated_proxy() API
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
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