Commit graph

26 commits

Author SHA1 Message Date
George Kiagiadakis
aa5b16f8df module-mixer: implement the "Mixer/Audio" endpoint provider
This provides high level volume controls for the AGL audiomixer
binding and the applications using it.
2019-06-18 19:58:42 +03: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
George Kiagiadakis
a93b47690e modules: re-implement the simple policy module using WpPolicy 2019-06-13 14:57:59 +03:00
Julian Bouzas
b87e9775ce simple-policy: add new module 2019-06-10 11:52:03 -04:00
George Kiagiadakis
1962a8ca1c daemon: quit when the pipewire remote disconnects or signals an error
This is implemented in a slightly hacky way, we register the GMainLoop
as a global object and use it from the module to quit the daemon.
This is bad design because the module assumes it is loaded inside
our daemon.

In the future, this should change. It looks like we should have an
object that tracks the state of PipeWire and main() should track
state changes of that object and decide what to do.
2019-06-05 18:38:56 +03:00
George Kiagiadakis
36bc1795ca Relicense to MIT 2019-05-31 12:13:12 +03:00
George Kiagiadakis
98fe322897 meson: export the module & config dirs to the C code
This allows loading of config and modules when deployed in
the target system without setting environment variables.
2019-05-29 17:36:22 +03:00
George Kiagiadakis
0e01895db3 meson: install wireplumber.conf 2019-05-29 12:58:47 +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
0506f53149 Add a sample config file and a Makefile to make running (for testing) easier 2019-05-17 13:34:33 +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
George Kiagiadakis
ac65d44bbf session: make the media_class a normal GObject property 2019-04-28 14:18:44 +03:00
George Kiagiadakis
41b1f40053 plugin-registry-impl: remove useless warning 2019-04-26 13:56:34 +03:00
George Kiagiadakis
26ad8bcad9 core: connect the new-proxy-available signal to the plugins' handle_pw_proxy 2019-04-26 13:55:46 +03:00
George Kiagiadakis
e16e66de2d lib: object/interface: do not (transfer full) interfaces and objects 2019-04-26 13:19:18 +03:00
George Kiagiadakis
19f10a81c9 core: implement an interface to retrieve the pw_core & pw_remote 2019-04-22 18:26:09 +03:00
George Kiagiadakis
4fcdb931be proxy/plugin: hold a pointer to the core instead of the respective registry
This makes it more intuitive to get other attached interfaces
from the core
2019-04-22 17:48:02 +03:00
George Kiagiadakis
ede602a05a implement WpSession & WpSessionRegistry 2019-04-22 13:07:08 +03:00
George Kiagiadakis
eeb99f908a proxy-registry-impl: run every proxy through the plugins' provide_interfaces
This allows plugins to provide custom interfaces on proxies
2019-04-17 19:20:39 +03:00
George Kiagiadakis
ce43cf5f0c refactoring around the registries
* make the registries available as dynamic interfaces of the core
* improve a bit the C API of WpObject & WpInterfaceImpl
2019-04-17 19:09:39 +03:00
George Kiagiadakis
ce7f9002cd core: fix stupid mistakes in module loading mechanism 2019-04-16 18:41:09 +03:00
George Kiagiadakis
a8450b0f02 src: use a common log domain in the daemon code
glib log domains are not like the gstreamer ones, where you can enable
many of them with a wildcard, therefore it is not particularly useful
to have different ones per file
2019-04-16 15:44:04 +03:00
George Kiagiadakis
6f740a2a13 src: implement module loading 2019-04-16 15:42:10 +03:00
George Kiagiadakis
96d801803c switch all headers to use SPDX-License-Identifier 2019-04-12 12:53:54 +03:00
George Kiagiadakis
9d4731d029 lib: begin working on a library to allow implementing policy plugins 2019-04-10 12:32:51 +03:00
George Kiagiadakis
43c44fb7cf Initial commit 2019-04-04 16:47:33 +03:00