Commit Graph

35 Commits

Author SHA1 Message Date
Julian Bouzas
184b293b7f dsp: add support for convert mode 2019-07-09 13:22:05 -04:00
George Kiagiadakis
7618b8b082 alsa-udev/softdsp-endpoint: make the stream names & count configurable 2019-07-09 13:20:39 -04:00
George Kiagiadakis
4b65593ee1 softdsp-endpoint: move the selected control in the endpoint and simplify the id encoding 2019-07-09 13:20:39 -04:00
George Kiagiadakis
afcf9f4f0c softdsp-endpoint: actually register the streams 2019-07-09 13:20:39 -04:00
Julian Bouzas
7d1e860b7d softdsp-endpoint: change the control value properly 2019-07-09 13:20:39 -04:00
Julian Bouzas
f28971ebf8 softdsp-endpoint: add multiple streams support 2019-07-09 13:20:39 -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
George Kiagiadakis
6177b7482e softdsp-endpoint: fix compiler warnings 2019-06-26 16:07:24 +03:00
George Kiagiadakis
d6f6c3d677 softdsp-endpoint: give a proper name to the endpoint based on alsa properties 2019-06-26 12:51:22 +03: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
d2b8337045 modules: use the registry from WpRemotePipewire 2019-06-20 12:59:34 -04:00
George Kiagiadakis
0ad9464b54 softdsp-endpoint: workaround pipewire bug
spa audioconvert (the backend of audio-dsp) does not adevertise
property changes, therefore subscribe_params() is useless.
In order to get the real value from the node we need to call
enum_params() manually.

https://github.com/PipeWire/pipewire/issues/157
2019-06-19 12:19:36 +03:00
George Kiagiadakis
dcbe3a6f10 modules: move the "selected" endpoint logic to the simple-policy module and improve it
We now have always a "selected" endpoint for each direction (source, sink)
that is picked as the first available endpoint at startup,
and it changes automatically if the currently selected endpoint is removed
2019-06-18 19:44:28 +03:00
George Kiagiadakis
0b3433d732 modules: fix some ref counting and memory {de-,}allocation issues 2019-06-18 10:02:01 +03: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
7337f9c19f audio-softdsp-endpoint: fix proxy port property description 2019-06-17 14:26:24 -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
b83bcd091e softdsp-endpoint: automatically deselect other endpoints when one is selected
Only one endpoint of a certain media class can be selected at a time
2019-06-11 13:29:20 +03:00
George Kiagiadakis
eabd2a49a4 softdsp-endpoint: add the "selected" control
This shall be a temporary method of selecting which endpoint
is going to be the default input or output, for testing purposes
2019-06-11 11:58:12 +03:00
George Kiagiadakis
c2f0d65723 softdsp-endpoint: add master volume & mute controls 2019-06-11 11:38:56 +03:00
George Kiagiadakis
e43d2d523d softdsp-endpoint: destroy the DSP->node link when the DSP becomes idle 2019-06-11 11:18:53 +03:00
George Kiagiadakis
3c201b610f softdsp-endpoint: copy format using standard struct assignment 2019-06-11 11:05:40 +03:00
George Kiagiadakis
acc3eef294 softdsp-endpoint: improve destruction sequence
- Set the node proxy to NULL when it is destroyed externally
so that we don't try to destroy it a second time in finalize.
- Don't remove the dsp_listener, as this is already done inside
the node proxy destroy sequence (but keep removing the node
listener to avoid calling node_proxy_destroy() from inside
finalize())
2019-06-11 10:57:56 +03:00
George Kiagiadakis
c9f03b2cad softdsp-endpoint: restructure some code, fix some coding style issues 2019-06-11 10:51:34 +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
36bc1795ca Relicense to MIT 2019-05-31 12:13:12 +03:00
Julian Bouzas
f8a3c09902 audio-softdsp-endpoint: set name and media-class endpoint properties on creation 2019-05-24 15:04:15 -04:00
Julian Bouzas
92dc9d5cdf Fix no return statement warnings 2019-05-22 16:59:56 -04:00
George Kiagiadakis
06db0e414a factory: improve API and hide its implementation (better for introspection) 2019-05-22 13:03:24 +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