George Kiagiadakis
d91a7666b4
module-pw-alsa-udev: remove useless switch case statements
2019-05-26 12:03:10 +03:00
George Kiagiadakis
93c62ec392
module-pw-alsa-udev: register the endpoints
2019-05-26 12:01:40 +03:00
George Kiagiadakis
f0d592c7f3
module-pipewire: export endpoints to pipewire
2019-05-25 23:24:55 +03:00
George Kiagiadakis
940e1e70c0
endpoint: fix clearing the weak ref
...
g_weak_ref_clear destroys the weak ref, so it will crash
when _finalize() tries to destroy it again
2019-05-25 23:20:54 +03:00
George Kiagiadakis
aa78db35a7
session-manager: add endpoint-added/removed signals
2019-05-25 23:20:33 +03:00
George Kiagiadakis
901593e217
endpoint: improve GVariant format docs
2019-05-25 23:19:28 +03:00
George Kiagiadakis
d2ccd2996b
Merge branch 'alsa-endpoints' of gitlab.freedesktop.org:julian/wireplumber
2019-05-25 23:17:20 +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
21e9f0d98b
alsa-udev: add listener to created audio softdsp endpoints when alsa nodes are created
2019-05-24 13:38:26 -04: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
2fd0f63118
factory: don't use smart pointer when creating a factory
2019-05-23 14:09:59 -04:00
Julian Bouzas
92dc9d5cdf
Fix no return statement warnings
2019-05-22 16:59:56 -04:00
George Kiagiadakis
220b95fb05
module-pipewire: add some more debug and fix segfault on startup
2019-05-22 23:46:33 +03:00
George Kiagiadakis
e1ef9b1128
module-pipewire: implement client node detection and simple-endpoint creation
2019-05-22 16:49:21 +03:00
George Kiagiadakis
df48fd897d
module/factory: add a get_core() method on both
2019-05-22 13:15:49 +03:00
George Kiagiadakis
06db0e414a
factory: improve API and hide its implementation (better for introspection)
2019-05-22 13:03:24 +03:00
George Kiagiadakis
1c44476b5e
endpoint: add documentation
2019-05-21 18:58:30 +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
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
43365715f7
many crash fixes
2019-04-28 14:20:00 +03:00
George Kiagiadakis
ac65d44bbf
session: make the media_class a normal GObject property
2019-04-28 14:18:44 +03:00
George Kiagiadakis
bd1c233f43
Revert "lib: object: allow also using static interfaces using the WpObject API"
...
This reverts commit daa49af541 .
2019-04-28 11:55:46 +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
b376c5d7c4
modules: add a basic default session implementation as a module
2019-04-26 12:39:35 +03:00
George Kiagiadakis
02c69fd2fa
proxy: add methods to get info & enum params
2019-04-26 12:36:49 +03:00
George Kiagiadakis
b6d1df6d68
plugin: remove WP_PLUGIN_DEFINE_TYPE - bad idea
2019-04-23 16:30:36 +03:00
George Kiagiadakis
cb1b3ebfad
proxy: expose pw properties as a spa_dict and store them in a pw_properties
...
Exposing a spa_dict is necessary to allow using native pipewire API
that deals with these properties.
The internal structure change avoids mem copies when we need to
return a spa_dict.
This commits also removes exposing internal info structures via the
properties mechanism. This needs more thinking...
2019-04-23 16:28:13 +03:00
George Kiagiadakis
daa49af541
lib: object: allow also using static interfaces using the WpObject API
2019-04-22 18:42:59 +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
55365e97c1
lib: proxy: make the pipewire property getter an interface on WpObject
...
We are going to use this in other object types as well
2019-04-22 12:44:42 +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
87d60a80aa
proxy: subclass from WpObject to allow attaching interfaces dynamically
2019-04-17 16:12:03 +03:00
George Kiagiadakis
ce7f9002cd
core: fix stupid mistakes in module loading mechanism
2019-04-16 18:41:09 +03:00
George Kiagiadakis
9e0e8f62ae
plugin: implement default_handle_pw_proxy
2019-04-16 18:27:34 +03:00
George Kiagiadakis
fad4682df6
lib: move gtype out of WpPluginMetadata and simplify plugin macros
...
the GType cannot be in statically allocated data,
since it's not known at compile time
2019-04-16 18:14:59 +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
f1bb4e3588
lib: implement proxy & proxy-registry
2019-04-15 17:07:06 +03:00
George Kiagiadakis
aa34eaae97
lib: add a log domain
2019-04-12 13:08:11 +03:00
George Kiagiadakis
96d801803c
switch all headers to use SPDX-License-Identifier
2019-04-12 12:53:54 +03:00
George Kiagiadakis
cdf0fe43bb
add LICENSE
2019-04-12 12:51:15 +03:00
George Kiagiadakis
ae45940cc4
add README.md
2019-04-12 12:50:37 +03:00
George Kiagiadakis
6f6e2b0e3e
lib: implement plugin mechanism and a basic proxy object
2019-04-12 12:37:36 +03:00
George Kiagiadakis
a50bb17ed6
object: error is allocated by the callee (and inferred)
2019-04-11 09:57:04 +03:00