George Kiagiadakis
b74dfdee71
si-convert: cleanup config verification
2020-05-04 18:04:33 +03:00
George Kiagiadakis
adc4b20487
session-bin: improve iterator
2020-05-04 18:03: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
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
82abe41759
session-bin: add _get_n_children() method
2020-05-04 14:13:32 +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
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
230c103f18
session-item: add _get_parent API
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
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
2f43e3a1e7
lib: add new session-bin class to handle multiple session items
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
735b44c238
object-manager/proxy: sprinkle some debug/trace statements
2020-05-03 19:44:42 +03:00
George Kiagiadakis
3617ca07ae
lib: align node/endpoint/session features ports/streams/endpoints,links
...
- Use similar code for consistency
- Add changed signals everywhere
- Port to the new object-manager API
2020-05-03 19:42:42 +03:00
George Kiagiadakis
83f399395c
proxy: emit 'bound' after setting FEATURE_BOUND
...
signal handlers expect FEATURE_BOUND to be set
2020-05-03 17:46:49 +03:00
George Kiagiadakis
9e1b5de93f
object-manager: port to WpObjectInterest and add more useful API based on it
2020-05-01 19:23:54 +03:00
George Kiagiadakis
db40a593b3
lib: implement WpObjectInterest
2020-05-01 19:21:08 +03:00
George Kiagiadakis
70214fcd26
debug: add wp_critical* macros
2020-05-01 12:00:28 +03:00
George Kiagiadakis
738b88aaba
debug: randomize object printout colors
...
This way we can more easily distinguish different objects when
looking at the log, although it's not perfect
2020-04-27 11:49:55 +03:00
George Kiagiadakis
2c1df41a16
debug: optimize wp_log_level_is_enabled()
...
Add the 'const' attribute to let the compiler know that it doesn't
need to call it multiple times for the same debug level argument,
since the enabled log levels cannot change at runtime.
2020-04-27 10:57:59 +03:00
George Kiagiadakis
1faa752cd0
core: trace pw main loop execution
2020-04-24 20:42:27 +03:00
George Kiagiadakis
9f1b46eed6
object-manager: implement the 'installed' signal and improve state management
...
The 'installed' signal can be used to know that there are no
known objects that are being prepared internally, so the object
manager is ready to use.
This also improves internal state management so that the 'objects-changed'
signal cannot be fired earlier than it should. Previously there
were corner cases with complex proxy features, as the object manager
relied on the fact that after a core 'sync' it is safe to assume
that all proxies are augmented... that's not always the case.
2020-04-24 20:36:53 +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
99f7220064
node: ensure FEATURE_PORTS gets enabled after the ports are discovered
...
+ add a ports-changed signal
2020-04-23 15:23:41 +03:00
George Kiagiadakis
d61b7904f9
modules: fix small issues in the session items
2020-04-23 15:22: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
George Kiagiadakis
32859356e8
module: add annotations in wp_module_load()
2020-04-22 17:06:29 +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
George Kiagiadakis
45059cb348
si-interfaces: add default implementations of optional methods
...
Implementations are not required to provide implementations for these
if they don't need them
2020-04-22 13:49:37 +03:00
George Kiagiadakis
78fe4dc30e
spa-type: add the AUDIO_CHANNEL table
2020-04-22 13:44:40 +03:00
George Kiagiadakis
33e67f2189
port: add wp_port_get_direction()
2020-04-22 10:59:12 +03:00
George Kiagiadakis
72ff4577c5
node: add useful API to access node info, associated ports and state changes
2020-04-22 10:57:30 +03:00
Julian Bouzas
135b1c2cbf
object-manager: only get proxy properties when needed
2020-04-21 16:11:05 -04:00