summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber
AgeCommit message (Collapse)AuthorFilesLines
2019-07-12wireplumber: add basic policy support based on role prioritiesGeorge Kiagiadakis1-1/+1
* Every client now has a priority based on its role * For playback, we allow only a single client to play at a time * For capture, we allow all clients to capture simultaneously * Every time the "selected" device changes (either because devices are discovered/removed or because the user changed the selection), the clients are re-linked to the new "selected" device. * When a playback client quits and there are others waiting unlinked, the highest priority one is linked automatically. * This also properly fixes re-linking the correct client(s) to the correct device(s) when wireplumber exits and restarts. George Kiagiadakis (7): m-client-permissions: ref-count the client data and re-work code for safety policy: take into account the role of the client when linking it Merge branch 'doc-fix' into 'master' Merge branch 'delay-unhandled-clients' into 'master' config: allow nested blocks, in case a property has a dictionary value policy: implement a basic policy based on role priorities simple-policy: remove the idle callback when the object finalizes Julian Bouzas (3): Fix doc warnings audio-client-module: added new module to load clients after softdsp endpoints are created simple-policy: delay unhandled enpoints if target is not found Bug-AGL: SPEC-2473 Change-Id: Ia37f236a8cac8b5f1f0d5e7409c50d4e7cb8a2da Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-07-12wireplumber: update to latest versionGeorge Kiagiadakis1-1/+1
George Kiagiadakis (18): Merge branch 'unregister-fix' into 'master' config: skip empty lines and comments (starting with #) config: implement reading properties for modules from the config file config: allow module property blocks to span multiple lines config: ensure that both ABI and MODULE are specified before the properties simple-policy: allow configuring the default audio devices via module arguments config: enhance the configuration file with comments Merge branch 'async-endpoint-links' into 'master' Merge branch 'link-fix' into 'master' softdsp-endpoint: actually register the streams softdsp-endpoint: dont't add the stream-id field on the description of the master controls softdsp-endpoint: move the selected control in the endpoint and simplify the id encoding alsa-udev/softdsp-endpoint: make the stream names & count configurable softdsp-endpoint/dsp: actually notify controls on the endpoint, not the dsp object simple-policy: match the requested role to a stream in find_endpoint mixer: implement listing controls of multiple streams Merge branch 'multistream-softdsp-ep' Merge branch 'stop-client' into 'master' Julian Bouzas (21): core: handle global references in a simpler way endpoint: remove unneeded ref/unref modules: unregister endpoints on global_removed instead of proxy destroyed modules: disconnect the signals when the endpoints are destroyed proxy: remove unneeded destroy signal endpoint-link: make contruction async factory: remove unneeded sync construction API simple-endpoint: handle both input and output directions simple-policy: handle both input and output clients simple-endpoint-link: dont link already linked ports softdsp-endpoint: add multiple streams support softdsp-endpoint: change the control value properly dsp: add support for convert mode module-pipewire: always include the node Id in the endpoint name proxy-link: add new API endpoint: allow derived classes of endpoint-link to finish async construction simple-endpoint-link: store the created links in a list endpoint: destroy the link before removing them from the lists endpoint: add wp_endpoint_unlink API simple-policy: unlink the target endpoint if it is already linked proxy: allow derived classes to finish its creation Bug-AGL: SPEC-2473 Bug-AGL: SPEC-2572 Change-Id: I1f9ca82ef907ce7f04c977692b3707fe3ef283d2 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-06-27wireplumber: uprevGeorge Kiagiadakis1-1/+1
* adds support for managing client permissions (required for SPEC-2554) * properly defaults to the first non-loopback device available on the system * add support for linking all the stream channels instead of just one George Kiagiadakis (7): Merge branch 'registry' into 'master' remote-pipewire: emit global-added for all proxy types modules: add new module to manage client permissions Merge branch 'async-endpoints' into 'master' softdsp-endpoint: give a proper name to the endpoint based on alsa properties simple-policy: select by default the first non-loopback device softdsp-endpoint: fix compiler warnings Julian Bouzas (8): proxy: add wp_proxy_sync API and DONE signal proxy: don't remove the listener on destruction as it is not needed remote-pipewire: add registry listener modules: use the registry from WpRemotePipewire factory: add async support endpoint: add async initable interface boilerplate modules: make endpoint creation async modules: add support for multiple channels linking Bug-AGL: SPEC-2554 Change-Id: Ie1f42e096834c2cfbd2bade714e0546066f8fb7c Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-06-24wireplumber: uprev to fix a few leaks and warningsGeorge Kiagiadakis1-1/+1
George Kiagiadakis (9): softdsp-endpoint: workaround pipewire bug Merge branch 'proxy-global-id' into 'master' core: destroy globals in _dispose() so that the global-removed signal is dispatched m-mixer: downgrade warnings about no backend to debug messages m-simple-policy: find_endpoint: ref the endpoint only if it's not NULL modules: do not leak references to the endpoints at their construction time meson: add option to disable gobject introspection proxy: avoid crashing when the WpProxy is unrefed in the "destroyed" signal handler remote-pipewire: do not leak the GSource Julian Bouzas (2): proxy: add global_id property audio-softdsp-endpoint: set module instead of core in the module data Change-Id: I1e08ad7245f09110d599163775ecb382298b111b Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-06-18pipewire: uprev wireplumberGeorge Kiagiadakis1-1/+1
George Kiagiadakis (19): lib: add new WpPolicy class and basic policy management functionality modules: re-implement the simple policy module using WpPolicy m-pipewire: temporarily add the sync_core_with_cb hack WpPolicy: add a way of signaling policy changes Merge branch 'proxy-api' into 'master' lib: add a new WpRemote base class and move the pw_remote glue into a new WpRemotePipewire Merge branch 'use-proxy-api' into 'master' endpoint: maintain a weak ref to the core since construction time modules: fix some ref counting and memory {de-,}allocation issues proxy: maintain a weak ref to the core lib: add some debug statements to debug the destruction sequence Merge branch 'refcount-fix' into 'master' Merge branch 'unregister-endpoint' into 'master' policy: consume floating reference of GVariant in _find_endpoint() endpoint: add some useful API for querying info about streams & controls core: remove_global: remove object from the list before triggering the notification remote-endpoint: disconnect the control-value change callback when the proxy is destroyed modules: move the "selected" endpoint logic to the simple-policy module and improve it module-mixer: implement the "Mixer/Audio" endpoint provider Julian Bouzas (9): proxy: add API modules: use the new proxy API audio-softdsp-endpoint: fix proxy port property description alsa-udev: fix minor bug module-pipewire and simple-endpoint: use the new Proxy API modules: fix proxy ref-count proxy: add destroyed signal modules: unregister the endpoints when their proxy is destroyed proxy: remove unneeded core reference Bug-AGL: SPEC-2518 Change-Id: Ia4c68ea5aa173add542a96b76f34bce68dcf103d Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-06-12pipewire: uprev wireplumberGeorge Kiagiadakis1-1/+1
George Kiagiadakis (16): remote-endpoint: fix de-serialization of control id (Int instead of Id) remote-endpoint: print error string in set_param implementation m-pipewire/simple-endpoint: implement volume & mute controls daemon: quit when the pipewire remote disconnects or signals an error Merge branch 'endpoint-linking' into 'master' Cleanup trailing whitespaces softdsp-endpoint: restructure some code, fix some coding style issues softdsp-endpoint: improve destruction sequence softdsp-endpoint: copy format using standard struct assignment softdsp-endpoint: destroy the DSP->node link when the DSP becomes idle softdsp-endpoint: add master volume & mute controls softdsp-endpoint: add the "selected" control endpoint: ref the endpoint while unregistering remote-endpoint: do not require a stream id on controls softdsp-endpoint: automatically deselect other endpoints when one is selected simple-policy: link client to the "selected" endpoint Julian Bouzas (3): endpoint: set core to null after unregistering endpoint and not before modules: add softdsp-endpoit and endpoint linking implementations simple-policy: add new module Bug-AGL: SPEC-2473 Change-Id: Idace93865cf62016fac5b7ad9b45a888153e0d97 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-06-11pipewire recipe plumbingJan-Simon Möller1-1/+11
This does enhance the recipes for pipewire and wireplumber in 2 ways: a) we add a separate package for the configuration and make it replaceable w/o recompiling pipewire or wireplumber itself b) this in turn makes the recipes not AGL specific and upstreamable as-is. v2: enhanced config recipes v3 & v4: fix typo Bug-AGL: SPEC-2473 Change-Id: I1f6f32d7cc64d9424706ca6bc87550f5e2c6d359 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2019-05-31meta-pipewire: initial wireplumber recipeGeorge Kiagiadakis1-0/+26
Bug-AGL: SPEC-2473 Change-Id: I309ff8cb335a78965dde122e8ff78142d2af6fdd Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>