Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
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>
|
|
* 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Bug-AGL: SPEC-2473
Change-Id: I309ff8cb335a78965dde122e8ff78142d2af6fdd
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|