summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber
AgeCommit message (Collapse)AuthorFilesLines
2019-09-29pipewire: update pipewire & wireplumber to the latest development versionGeorge Kiagiadakis2-2/+22
This refreshes all the patches, removing all those that made it upstream, redoing the endpoint extension (now called session-manager extension), and adding some more last moment fixes. In addition, the configuration files for wireplumber & pipewire are being updated to load the new modules, as the module set has changed in both daemons. Finally, the pipewire recipe is adding PACKAGECONFIG options for jack and vulkan, so that we can actually disable them. Pipewire upstream builds them by default and we don't want that. Bug-AGL: SPEC-2837 Change-Id: Id42119c027558466f0a0aa71813ff15f33dfcb56 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-09-05wireplumber: update to fix mixer issueGeorge Kiagiadakis1-1/+1
Bug-AGL: SPEC-2797 Change-Id: I8f1d13c4e816706f96f4a7628d238877a0cd4c02 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-09-04wireplumber: update to 0.1.1, which includes patches for bluetooth supportGeorge Kiagiadakis1-3/+3
Bug-AGL: SPEC-2792 Change-Id: I6075539a4964e9fb638443e14cdcfa0d0028b81c Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> (cherry picked from commit 239d4051cc450dec1c65b47339e7df7833baa9a2)
2019-09-04pipewire config: enable bluez modules in pipewire and wireplumberGeorge Kiagiadakis1-0/+4
In pipewire we only enable that if the bluez5 feature is enabled because otherwise the module is not compiled and will error out at runtime. In wireplumber we always enable it since it does not depend on bluez. Bug-AGL: SPEC-2792 Change-Id: I53bbc387bccd953633affd4fc34949a2fd488ed7 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> (cherry picked from commit 9fc6d8e9bbc9746777c03471b643992abcb182a5)
2019-07-30wireplumber: add AGL-specific per-board configGeorge Kiagiadakis2-0/+124
Bug-AGL: SPEC-2662 Change-Id: If419c940e18feb46f42f9004479944bd395a3b4a Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-07-30wireplumber: update to fix some bugsGeorge Kiagiadakis1-1/+1
George Kiagiadakis (5): modules: initialize some spa_pod_builders inline proxy: fix the naming of variables that point to the instance and private structures Merge branch 'error-handling' into 'master' simple-policy: do not leak client endpoints when rescanning simple-policy: compare client creation times so that the "last one wins" Julian Bouzas (6): dsp: use the new WpProxyLink API proxy: throw an error if the proxy is destroyed during async constructions modules: handle error if the endpoint proxies could not be created simple-policy: fix bug when finding endpoints dsp: removed unneeded format property and always use the default format simple-endpoint-link: skip already output linked ports Bug-AGL: SPEC-2674 Change-Id: Ic35d9921dbd1e6d4f6302d326983a73436d2b8e6 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
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>