George Kiagiadakis
a63f2bb99b
lib/wp: merge both WpRemote & WpRemotePipewire in WpCore
...
In practice we always create a remote and connect to pipewire.
Any other scenario is invalid, therefore, it is not justified
to be confused with so many classes for such small functionality.
This simplifies a lot the modules code.
Also, this commit exposes the pw_core and pw_remote objects
out of WpCore. This is in practice useful when dealing with low-level
pw and spa factories, which are used in the monitors. Let's not
add API wrappers for everything... Bindings will never use this
functionality anyway, since it depends on low level pipewire C API.
2019-09-07 17:55:46 +03:00
George Kiagiadakis
84b752e304
simple-endpoint: use WpProperties instead of parsing the spa_dict from the info structure
2019-09-07 11:30:08 +03:00
George Kiagiadakis
ac7086d156
modules: port to new WpProxy API
2019-08-29 21:21:33 +03:00
Julian Bouzas
dcbf823a5a
endpoint: add direction property and remove it from subclasses
2019-08-27 10:05:59 -04:00
Julian Bouzas
5ff06a97f7
simple-endpoint: add direction property
2019-08-26 11:25:53 -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
d49ed2b3f4
simple-endpoint: add target property
2019-08-13 14:26:38 -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
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
755f0bd862
modules: handle error if the endpoint proxies could not be created
2019-07-25 12:24:47 +03:00
George Kiagiadakis
a2bf7e3999
policy: take into account the role of the client when linking it
...
This allows linking the client to the stream that has the same name
as the role that it requests.
2019-07-12 14:40:19 +03:00
Julian Bouzas
6f67682367
simple-endpoint: handle both input and output directions
2019-06-28 13:03:54 -04:00
Julian Bouzas
3207811795
modules: disconnect the signals when the endpoints are destroyed
2019-06-26 12:47:51 -04:00
Julian Bouzas
7aded3a8c9
modules: unregister endpoints on global_removed instead of proxy destroyed
2019-06-26 12:37:19 -04:00
Julian Bouzas
ff2420b70a
modules: add support for multiple channels linking
2019-06-24 14:27:52 -04:00
Julian Bouzas
be6256fb0a
modules: make endpoint creation async
2019-06-24 11:17:43 -04:00
Julian Bouzas
fc7ebc2c31
proxy: add global_id property
2019-06-19 09:07:00 -04:00
Julian Bouzas
3feddf5579
modules: fix proxy ref-count
2019-06-18 08:34:54 -04:00
George Kiagiadakis
ab73fd6eb0
endpoint: maintain a weak ref to the core since construction time
...
+ add a method to retrieve the core
+ change the register function to not require the core as a parameter
2019-06-18 09:23:40 +03:00
Julian Bouzas
1f2386c08d
module-pipewire and simple-endpoint: use the new Proxy API
2019-06-17 14:37:14 -04:00
Julian Bouzas
2c76103c30
modules: use the new proxy API
2019-06-17 10:42:59 -04:00
George Kiagiadakis
80831c9320
Cleanup trailing whitespaces
2019-06-11 10:11:24 +03:00
Julian Bouzas
f1d1bff593
modules: add softdsp-endpoit and endpoint linking implementations
2019-06-10 11:51:18 -04:00
George Kiagiadakis
d4ddad18b3
m-pipewire/simple-endpoint: implement volume & mute controls
2019-06-05 17:20:57 +03:00
George Kiagiadakis
36bc1795ca
Relicense to MIT
2019-05-31 12:13:12 +03:00
George Kiagiadakis
d2ccd2996b
Merge branch 'alsa-endpoints' of gitlab.freedesktop.org:julian/wireplumber
2019-05-25 23:17:20 +03:00
George Kiagiadakis
8e7f84d888
endpoint: add methods to register to the SM and use them in simple-endpoint
...
This changes the registration point to be the endpoint and not the
session manager, as it seems easier to implement (the implementation
will not need to keep a pointer to the session manager around)
2019-05-24 17:19:58 +03:00
Julian Bouzas
92dc9d5cdf
Fix no return statement warnings
2019-05-22 16:59:56 -04:00
George Kiagiadakis
e1ef9b1128
module-pipewire: implement client node detection and simple-endpoint creation
2019-05-22 16:49:21 +03:00
George Kiagiadakis
5f853d0e53
endpoint: refactor slightly the public API
...
* Make streams a GVariant array, for future-proofness
* Add API for controls (volume, mute, brightness, contrast, etc...)
* Remove API for profiles (it's not well-thought; may be re-added
in the future)
2019-05-21 18:27:07 +03:00
George Kiagiadakis
447c968846
Refactor everything!
...
After discussing things at the AGL May 2019 F2F meeting
and reflecting on the initial design of WirePlumber,
it became clear that it needed a fresh start.
2019-05-17 13:34:07 +03:00