Age | Commit message (Collapse) | Author | Files | Lines |
|
* actually get values instead of storing them into intermediate
pointers on the stack
* fix crash on 32-bit architectures
* no need to use NULL sentinel
Bug-AGL: SPEC-3976
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I88647ae21405fe3bd7e57c82d3e953be2767c0c9
|
|
* use module-mixer-api and module-default-nodes-api
* use endpoints without endpoint streams (new design)
* improve thread safety a little bit
Bug-AGL: SPEC-3844
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ia180d607698d7a8875c19cc48bd2b2c503772945
|
|
Previously there was a race condition that would happen when
audiomixer was the first client to connect to pipewire.
It would get a session first and then a default endpoint id
from the session, but at the time the default endpoint id
would be known, the WpProxyEndpoints would still not be ready.
This would cause the populate_controls() algorithm to end up
with no controls and the binding would therefore report that
no controls were exposed.
Now we also handle objects-changed from the endpoints object manager.
This is an additional trigger, so that when we end up in the
situation described above, the objects-changed from the endpoints om
will trigger the controls to be exposed eventually.
In order to avoid signalling control changes all the time,
there are now some checks to change controls only under
certain conditions.
Change-Id: Ied705592f889a0262465ed5efa711233a66d579b
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
... using wireplumber API to access endpoint information instead
of the low-level pipewire API.
This exports only the master volume for the moment.
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I4fc78c4182259b6405c1eeaa1823c3bac83ba2ee
|
|
Subscribe to volume events from the agl-service-signal-composer
service, and enable up/down/mute event processing applied to the
Master mixer control.
Bug-AGL: SPEC-3024
Change-Id: I76bb66c7274875371a581568092c600dfd543e0f
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I4c00d355a2dc452ebae413f0abf39308ba314f56
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ieba770a3902fa4081ea4b9a1c9506b9abd82f35b
|
|
Apparently the binder does not like manual interventions to the
event loop and it has its own mechanism for queueing events
to run asynchronously.
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Iefef031b4ad8932bbf36a5213a119908de48b41f
|
|
Because the binder doesn't like printing messages with its own
mechanism from other threads.
Change-Id: I6fac81fc6de58f7cbbf2f93b9795c0833e44d85c
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
This makes the code actually work now
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I8dad07fc463ca00d4f16be63f0ad73946f6da0bc
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I89e493d88c7fa1309f1b2991d346fc496caa6898
|