George Kiagiadakis
7f83bcfc25
tests: proxy: add a test for enum_params errors
2021-05-13 08:52:22 -04:00
George Kiagiadakis
0b558eca74
proxy: add a "bind" watch, to watch for proxy errors while binding/exporting
...
Add a unit test for this. Create a link with invalid nodes and expect
the activation transition to error out.
2021-05-13 08:52:22 -04:00
George Kiagiadakis
ba6404f7d6
tests: spa-pod: fix int64 constant to work on all architectures
...
the "long" type in spa-pod is int64_t, so we need to make sure we
pass a 64-bit number there, otherwise the va_args is going to crash
on some architectures while reading arguments off the stack
2021-05-13 09:15:45 +03:00
Julian Bouzas
419af5a228
spa-pod: respect the SPA size for long and int APIs
...
Fixes some issues for 32bit architectures
2021-05-12 11:53:31 -04:00
Julian Bouzas
05aba22c5a
si-audio-adapter: remove unneeded 'preferred.n.channels' property
2021-05-12 10:36:24 -04:00
Julian Bouzas
888667d784
modules: remove role and priority properties from si-audio-adapter and si-node
2021-05-11 10:56:50 -04:00
Julian Bouzas
d68636f9b3
si-interfaces: rename WpSiPortInfo to WpSiLinkable
2021-05-11 10:56:44 -04:00
George Kiagiadakis
86ffac19e5
wpipc: place sockets in the same runtime directory as pipewire
2021-05-06 14:15:24 +03:00
George Kiagiadakis
226ae5772e
meson: find threads_dep early and also use it in the wpipc-client
2021-05-06 13:00:55 +03:00
George Kiagiadakis
5efb46a3e2
meson: make wpipc optional and disabled by default
...
This is only intended to be used with specific embedded
applications. There is no good reason to use it on
a standard desktop environment.
2021-05-06 12:00:56 +03:00
Julian Bouzas
795df4b693
lib: add wpipc library
...
Simple library that uses sockets for inter-process communication. It provides an
API to create server and client objects. Users can add custom handlers in the
server, and clients can send requests for those custom handlers.
2021-05-04 18:55:10 -04:00
George Kiagiadakis
c53608874a
examples: add example script to get the default sink's volume
2021-04-13 21:07:32 +03:00
George Kiagiadakis
1ba99739c2
tools: split wireplumber script execution mode to a separate wpexec tool
...
This is mainly for security reasons. This way, we can limit the
permissions of wpexec without limiting wireplumber, for instance
with pipewire's default module-access, which limits apps based on
their executable name
2021-04-12 09:53:30 +03:00
Julian Bouzas
5c781db216
m-audio-endpoint: remove target property
...
Links between endpoints and device nodes are done externally in LUA
2021-04-09 14:19:25 -04:00
Julian Bouzas
b2c9084413
modules: remove unneeded si-audio-convert module
2021-04-08 14:07:05 -04:00
Julian Bouzas
d38092a35c
m-si-audio-endpoint: fix port configuration and target linking
2021-04-08 14:07:05 -04:00
Julian Bouzas
471f84c735
m-si-audio-endpoint: make target property optional
...
Allows using the endpoint even if a target is not set.
2021-04-08 14:07:01 -04:00
Julian Bouzas
bce0b79980
tests: si-standard-link: sync core before finishing
...
Makes sure core has finished any pending task before finishing the test.
2021-04-08 11:04:21 -04:00
Julian Bouzas
fb1daa0bf2
modules: use dots instead of dashes for session item properties
...
Keeps consistency with PipeWire
2021-04-02 11:22:22 -04:00
Julian Bouzas
b7e347d92c
modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter
2021-03-26 16:16:02 -04:00
Julian Bouzas
59cb837075
tests: si-standard-link: use new si-audio-endpoint
2021-03-26 16:16:02 -04:00
Julian Bouzas
325522ae51
modules: add si-audio-endpoint session item
2021-03-26 16:16:02 -04:00
Julian Bouzas
d71cace24f
m-si-convert: rename to si-audio-convert
...
Because it is only meant to be used with audio nodes
2021-03-18 15:00:22 -04:00
Julian Bouzas
340213272e
m-si-adapter: rename to si-audio-adapter
...
Because it is only meant to be used with audio nodes
2021-03-18 14:47:22 -04:00
Julian Bouzas
cf102c5604
tests: session-item: add registration test
...
Also simplifies all tests using base-test-fixture.h
2021-03-18 14:30:11 -04:00
Julian Bouzas
120aab04ae
session-item: refactor and inherit from WpObject
...
This adds WP_SESSION_ITEM_FEATURE_ACTIVE and WP_SESSION_ITEM_FEATURE_EXPORTED
features, so _activate and _export APIs have been removed. Modules and unit
tests have also been updated.
2021-03-18 14:30:05 -04:00
Julian Bouzas
39ef6df7ce
m-si-adapter: rename algorithms to audio-utils
2021-03-18 12:10:37 -04:00
Julian Bouzas
b10a5b6b49
m-si-simple-node-endpoint: rename to si-node
2021-03-18 12:10:37 -04:00
Julian Bouzas
12b2c00d0b
lib: remove WpEndpointStream API
...
Add all that goes with it.
2021-03-18 12:10:37 -04:00
George Kiagiadakis
941b0324e5
object-interest: remove type checks
...
They are not strictly necessary and just make our life harder
2021-03-02 18:25:34 +02:00
George Kiagiadakis
905636dc8d
lua/api: improve getting optional Interest arguments
...
Add the ability to construct an Interest argument without
using the Interest keyword, so instead of:
om:lookup(Interest { type = "session" })
we can now write:
om:lookup { type = "session" }
... and also remove lookup_filtered from ObjectManager
2021-03-02 13:11:54 +02:00
George Kiagiadakis
e9e73a2141
examples: add bt-profile-switch example
2021-03-01 18:10:40 +02:00
George Kiagiadakis
51e24c58b5
m-lua-scripting/pod: retrieve Ids in Array & Choice as strings, if possible
...
When an Array or Choice that contains Spa:Id appears as a value for an object
field, it is possible to retrieve the Id type from that object field type.
2021-02-23 13:56:38 +02:00
George Kiagiadakis
5302700c6d
m-lua-scripting/pod: s/id_type/object_id/ as commented on !125
2021-02-23 12:47:24 +02:00
Julian Bouzas
bd65f9578d
m-lua-scripting: add support for choices when creating object pods
2021-02-23 10:41:46 +00:00
Julian Bouzas
0694889245
m-lua-scripting: refactor array and choice pod constructors to accept Id names
2021-02-23 10:41:46 +00:00
Julian Bouzas
910ff838e4
m-lua-scripting: allow constructing pod Ids with the Id name
2021-02-23 10:41:46 +00:00
Julian Bouzas
cd2e648b3c
m-lua-scripting: set id_type field when parsing pod objects
2021-02-23 10:41:46 +00:00
Julian Bouzas
2465088c5a
m-lua-scripting: set pod_type and value_type fieds when parsing non-primitive pods
2021-02-23 10:41:46 +00:00
Julian Bouzas
8fa6116786
m-lua-scripting: start indices from 1 when parsing pods
...
For consistency with LUA
2021-02-23 10:41:46 +00:00
George Kiagiadakis
b485f0a67d
test-endpoint: fix failure with pipewire master
2021-02-23 12:30:08 +02:00
George Kiagiadakis
e6112d7579
examples: interactive.lua: add a shebang and update running instructions
2021-02-18 14:53:33 +02:00
George Kiagiadakis
7c1fc1c567
wplua: table_to_properties: use luaL_tolstring to do string conversions
...
The advantage is that luaL_tolstring behaves the same as the native lua
tostring() function, while lua_tostring() does not. In particular, boolean
values are converted properly to "true" and "false" now, while they were
not converted with lua_tostring()
Add a unit test too
2021-02-16 16:53:22 +02:00
George Kiagiadakis
b3ff7347cd
wplua: improve GVariant array conversion
...
* index array items from 1
* handle any kind of value, not just GVariant basic types
* unit test
2021-02-15 14:43:18 +02:00
George Kiagiadakis
dacf19d9c7
wplua: improve gvariant <-> lua conversion functions
...
* Add more generic lua -> gvariant conversion
* Cleanup the gvariant -> lua function and rename it
2021-02-15 14:43:18 +02:00
George Kiagiadakis
0196b49453
tests/lua: test monitor configuration rules code
2021-02-13 11:55:00 +02:00
Julian Bouzas
cbe90a5c75
wplua: handle more GVariant cases
2021-02-12 14:28:38 -05:00
George Kiagiadakis
6039223642
tests/wplua: set WIREPLUMBER_CONFIG_DIR to an invalid directory
...
... because loading a script first looks in that directory, so it's
easy to make tests break by a conflicting file in the system config dir,
for instance, /etc/wireplumber/scripts/pod.lua
2021-02-05 19:49:52 +02:00
George Kiagiadakis
33e546d79b
lua/pod: convert Id object fields to strings, if possible
2021-02-05 18:58:02 +02:00
Julian Bouzas
dc2ad1f25d
rename all foo_iterate APIs to foo_new_iterator
...
Avoids confusion with LUA iterate API
2021-02-05 11:33:23 -05:00