aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-01-07audiomixer: rework event handling to avoid race conditionshalibut_8.0.6halibut_8.0.5halibut/8.0.6halibut/8.0.58.0.68.0.5halibutGeorge Kiagiadakis1-49/+114
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
2020-01-07audiomixer: port to the new endpoints APIGeorge Kiagiadakis2-438/+273
... 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
2019-12-11audiomixer: add steering wheel event processing supporthalibut_8.0.4halibut/8.0.48.0.4Matt Ranostay2-0/+88
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>
2019-07-20audiomixer: README.md: add API documentationicefish_8.99.1icefish/8.99.1halibut_8.0.3halibut_8.0.2halibut_8.0.1halibut_8.0.0halibut/8.0.3halibut/8.0.2halibut/8.0.1halibut/8.0.08.99.18.0.38.0.28.0.18.0.0George Kiagiadakis1-2/+65
Bug-AGL: SPEC-2473 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: Ic9fbbf6cc1f91f8699a3ba897b3984d8e4ddf244
2019-06-28binding: use afb_api_queue_job to queue events to run asynchalibut_7.99.3halibut_7.99.2halibut/7.99.3halibut/7.99.27.99.37.99.2George Kiagiadakis1-20/+14
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
2019-06-28audiomixer: use pipewire's debug system in the audiomixer threadGeorge Kiagiadakis2-7/+1
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>
2019-06-28audiomixer: fix a couple of stupid mistakesGeorge Kiagiadakis1-4/+6
This makes the code actually work now Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I8dad07fc463ca00d4f16be63f0ad73946f6da0bc
2019-06-24Initial binding versionGeorge Kiagiadakis11-0/+1386
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I89e493d88c7fa1309f1b2991d346fc496caa6898
2019-05-19Initial empty repositoryJan-Simon Moeller0-0/+0