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