Commit Graph

94 Commits

Author SHA1 Message Date
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
759aa450af remove remote-endpoints and use the new pipewire API 2019-08-13 14:26:38 -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
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
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
1b69ef8339 simple-endpoint-link: store the created links in a list 2019-07-10 11:18:09 -04:00
Julian Bouzas
3cecccd681 endpoint: allow derived classes of endpoint-link to finish async construction 2019-07-10 11:18:09 -04:00
Julian Bouzas
51a1d9a36f simple-endpoint-link: dont link already linked ports 2019-07-05 12:21:57 -04:00
Julian Bouzas
6f67682367 simple-endpoint: handle both input and output directions 2019-06-28 13:03:54 -04:00
Julian Bouzas
5429d57cb1 endpoint-link: make contruction async 2019-06-28 12:33:00 -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
George Kiagiadakis
5d93cf338b remote-endpoint: disconnect the control-value change callback when the proxy is destroyed
This avoids the theoretical crash that would happen if you change
the control value on an endpoint whose client-endpoint proxy has
already been destroyed
2019-06-18 19:42:19 +03: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
George Kiagiadakis
7b9e8a030e lib: add a new WpRemote base class and move the pw_remote glue into a new WpRemotePipewire
This is a cleaner way to interface with the remote pipewire daemon.
The WpRemote base class can be subclassed also for interfacing
with other daemons (hardware-specific managers, etc)
2019-06-17 20:28:06 +03:00
Julian Bouzas
2c76103c30 modules: use the new proxy API 2019-06-17 10:42:59 -04:00
George Kiagiadakis
8f544329b9 remote-endpoint: do not require a stream id on controls
the stream id is optional, a control may apply globally to all streams
2019-06-11 13:28:33 +03: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
0bc48e27c1 remote-endpoint: print error string in set_param implementation 2019-06-05 17:19:38 +03:00
George Kiagiadakis
1d9eaea5c2 remote-endpoint: fix de-serialization of control id (Int instead of Id) 2019-06-05 17:18:55 +03:00
George Kiagiadakis
36bc1795ca Relicense to MIT 2019-05-31 12:13:12 +03:00
George Kiagiadakis
c319d40411 remote-endpoint: serialize control & stream IDs as int
SPA_POD_Id is reserved for spa type IDs, not arbitrary implementation IDs
2019-05-28 12:24:59 +03:00
George Kiagiadakis
8874e453a5 remote-endpoint: adjust to pw_endpoint api changes 2019-05-28 11:38:28 +03:00
George Kiagiadakis
3aa7d6ce78 lib: remove the session-manager object and register endpoints as globals 2019-05-26 19:21:27 +03:00
George Kiagiadakis
f0d592c7f3 module-pipewire: export endpoints to pipewire 2019-05-25 23:24:55 +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