summary |
shortlog | log |
commit |
commitdiff |
review |
tree
first ⋅ prev ⋅ next
George Kiagiadakis [Tue, 24 Dec 2019 09:36:06 +0000 (11:36 +0200)]
audiomixer: rework event handling to avoid race conditions
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.
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Icd48990c257d49396c9edc0b7299982338239f06
George Kiagiadakis [Sun, 22 Sep 2019 13:47:08 +0000 (16:47 +0300)]
audiomixer: port to the new endpoints API
... 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: I5a1d12e23a8bf59a34ae4b633083262e8f3d9ba1
Matt Ranostay [Thu, 5 Dec 2019 23:55:33 +0000 (15:55 -0800)]
audiomixer: add steering wheel event processing support
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>
George Kiagiadakis [Sat, 20 Jul 2019 04:09:12 +0000 (13:09 +0900)]
audiomixer: README.md: add API documentation
Bug-AGL: SPEC-2473
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ic9fbbf6cc1f91f8699a3ba897b3984d8e4ddf244
George Kiagiadakis [Fri, 28 Jun 2019 14:32:20 +0000 (17:32 +0300)]
binding: use afb_api_queue_job to queue events to run async
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
George Kiagiadakis [Fri, 28 Jun 2019 14:29:49 +0000 (17:29 +0300)]
audiomixer: use pipewire's debug system in the audiomixer thread
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>
George Kiagiadakis [Fri, 28 Jun 2019 14:28:52 +0000 (17:28 +0300)]
audiomixer: fix a couple of stupid mistakes
This makes the code actually work now
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I8dad07fc463ca00d4f16be63f0ad73946f6da0bc
George Kiagiadakis [Fri, 7 Jun 2019 14:44:35 +0000 (17:44 +0300)]
Initial binding version
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I89e493d88c7fa1309f1b2991d346fc496caa6898
Jan-Simon Moeller [Sun, 19 May 2019 03:38:25 +0000 (03:38 +0000)]
Initial empty repository