Julian Bouzas
fd8414aad1
bluez: handle all bluetooth profiles
2019-09-02 09:56:42 -04:00
George Kiagiadakis
72e13919a4
bluez: warn if the SPA bluez plugin is not installed instead of asserting
2019-08-29 21:23:20 +03:00
George Kiagiadakis
3d46253dd6
proxy: hide the bind() API and fix attaching the listener in wrap mode
...
In case the proxy was created with wp_proxy_new_wrap(), the event
listener was not attached on the pw_proxy
2019-08-29 21:21:51 +03:00
George Kiagiadakis
ac7086d156
modules: port to new WpProxy API
2019-08-29 21:21:33 +03:00
George Kiagiadakis
ff59fc06db
lib: properties: add update() and copy_from_dict() API
2019-08-29 19:41:04 +03:00
Julian Bouzas
770fe8c703
simple-policy: handle bluez endpoints
2019-08-28 14:19:22 -04:00
Julian Bouzas
ad8491df44
modules: destroy all alsa/bluez nodes when an alsa/bluez device is removed
2019-08-28 14:19:22 -04:00
Julian Bouzas
c473cecbed
bluez: cleaned module and set media class to Bluez/<direction>/<profile>
2019-08-28 14:19:16 -04:00
Julian Bouzas
23cc1edc28
alsa-udev: cleaned module and set media class to Alsa/<direction>
2019-08-28 11:10:11 -04:00
George Kiagiadakis
7608ae37b5
lib: implement WpProxyClient
2019-08-27 18:28:58 +03:00
George Kiagiadakis
789194b5c3
Merge remote-tracking branch 'origin/master' into proxy-refactoring
2019-08-27 18:10:41 +03:00
George Kiagiadakis
a5e867172d
tests: proxy: add unit test for WpProxyNode and enum_params in particular
2019-08-27 17:40:28 +03:00
George Kiagiadakis
31a7537110
tests: proxy: improvements in the fixture and basic test
...
* move the watchdogs in the fixture setup
* use a new GMainContext on each fixture to avoid test dependencies
* test wp_proxy_sync
2019-08-27 17:40:28 +03:00
George Kiagiadakis
e5a05dcc2b
proxy-*: improve proxy subclasses
...
* add proxy sync method
* add wrapers for enum/set/subscribe_params
* move the info structure handling to the subclasses
* expose info->props as WpProperties
2019-08-27 17:40:28 +03:00
Julian Bouzas
dcbf823a5a
endpoint: add direction property and remove it from subclasses
2019-08-27 10:05:59 -04:00
Julian Bouzas
9a6e520721
bluez: create bluetooth endpoints
2019-08-26 11:31:38 -04:00
Julian Bouzas
5ff06a97f7
simple-endpoint: add direction property
2019-08-26 11:25:53 -04:00
Julian Bouzas
de97be850a
adapter: do not use hardcoded format
2019-08-26 10:31:44 -04:00
George Kiagiadakis
2e28c9aea1
tests: add unit test for WpProxy
...
This also adds a "test server" helper, which is used to
start a local pipewire server in the same process, for testing
functionality that requires a server.
2019-08-25 12:45:24 +03:00
George Kiagiadakis
bdce3b4de5
proxy: refactor the proxy class to hide pipewire API and make things easier
2019-08-25 12:44:47 +03:00
George Kiagiadakis
199241894e
meson: temporarily disable building modules due to API changes being in progress
2019-08-24 16:19:12 +03:00
George Kiagiadakis
8cf8b0b886
tests: add unit test skeleton and a test for WpProperties
2019-08-24 16:19:12 +03:00
George Kiagiadakis
2031809d60
lib: add new WpProperties object to wrap pw_properties & spa_dict
2019-08-24 16:19:12 +03:00
Julian Bouzas
6786b13fdc
bluez: add new module to monitor bluetooth devices
2019-08-19 10:42:03 -04:00
Julian Bouzas
aa07ec09e4
remote-pipewire: add find_factory API
2019-08-19 10:41:33 -04:00
George Kiagiadakis
d4f882d731
Update for the pw_global "parent" concept removal
2019-08-19 15:24:00 +03:00
Julian Bouzas
fbf8de84fa
modules: replace dsp class with stream, adapter and convert classes
2019-08-15 14:35:59 -04:00
Julian Bouzas
8d58243fa6
module-pw-alsa-udev: start the alsa monitor and create the alsa nodes
2019-08-13 14:26:38 -04:00
Julian Bouzas
f5a51c6a81
remote-pipepwire: add module_load, load_spa_handle, add_spa_lib and export APIs
2019-08-13 14:26:38 -04:00
Julian Bouzas
759aa450af
remove remote-endpoints and use the new pipewire API
2019-08-13 14:26:38 -04:00
Julian Bouzas
7d4c9fa6e2
simple-policy: select the client's target name endpoint
2019-08-13 14:26:38 -04:00
Julian Bouzas
d49ed2b3f4
simple-endpoint: add target property
2019-08-13 14:26:38 -04:00
Julian Bouzas
96d940e94e
softdsp-endpoint: always set name and check for alsa api when giving proper alsa name
2019-08-13 14:24:31 -04:00
George Kiagiadakis
0002722289
simple-policy: compare client creation times so that the "last one wins"
...
When two clients have the same role, the current policy should
favor the newest client.
2019-07-30 14:05:40 +03:00
George Kiagiadakis
b05ae5f09c
simple-policy: do not leak client endpoints when rescanning
2019-07-30 13:17:58 +03:00
George Kiagiadakis
ecfcbd7b6d
Merge branch 'error-handling' into 'master'
...
Error handling and fixes
See merge request gkiagia/wireplumber!21
2019-07-25 12:33:08 +03:00
George Kiagiadakis
baaccc92f7
proxy: fix the naming of variables that point to the instance and private structures
2019-07-25 12:27:40 +03:00
Julian Bouzas
c27c020a66
simple-endpoint-link: skip already output linked ports
2019-07-25 12:27:40 +03:00
George Kiagiadakis
4b6ea0de6e
modules: initialize some spa_pod_builders inline
2019-07-25 12:27:34 +03:00
Julian Bouzas
9f07ba229c
dsp: removed unneeded format property and always use the default format
2019-07-25 12:26:42 +03:00
Julian Bouzas
efbefe9e0e
simple-policy: fix bug when finding endpoints
2019-07-25 12:24:48 +03:00
Julian Bouzas
755f0bd862
modules: handle error if the endpoint proxies could not be created
2019-07-25 12:24:47 +03:00
Julian Bouzas
dbd763bc9c
proxy: throw an error if the proxy is destroyed during async constructions
2019-07-25 12:24:47 +03:00
Julian Bouzas
3fc9582b6a
dsp: use the new WpProxyLink API
2019-07-15 11:05:34 -04:00
George Kiagiadakis
eaaa9f7f35
simple-policy: remove the idle callback when the object finalizes
...
Avoids crashing if a rescan is scheduled but the policy module is
destroyed in the meantime
2019-07-12 19:43:07 +03:00
George Kiagiadakis
1ed004c3c1
policy: implement a basic policy based on role priorities
...
* Every client has a priority based on its role
* For playback, we allow only a single client to play at a time
* For capture, we allow all clients to capture simultaneously
* Every time the "selected" device changes (either because devices
are discovered/removed or because the user changed the selection),
the clients are re-linked to the new "selected" device.
* When a playback client quits and there are others waiting unlinked,
the highest priority one is linked automatically.
* This also properly fixes re-linking the correct client(s) to the
correct device(s) when wireplumber exits and restarts.
2019-07-12 19:28:27 +03:00
George Kiagiadakis
a22d353a1b
config: allow nested blocks, in case a property has a dictionary value
2019-07-12 19:27:12 +03:00
George Kiagiadakis
1b28b620c1
Merge branch 'delay-unhandled-clients' into 'master'
...
Delay unhandled clients
See merge request gkiagia/wireplumber!20
2019-07-12 14:20:21 +00:00
Julian Bouzas
536df13709
simple-policy: delay unhandled enpoints if target is not found
2019-07-12 09:44:32 -04:00
Julian Bouzas
1a02bfef8a
audio-client-module: added new module to load clients after softdsp endpoints are created
2019-07-12 09:44:15 -04:00