summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-07-04Repurpose into VIS clientneedlefish_13.93.0needlefish/13.93.013.93.0Scott Murray26-1042/+914
Repurpose repository for a spiritual successor of the previous binding. The replacement is a daemon that demonstrates servicing the volume actuator from the VSS schema via VIS signals from KUKSA.val. Currently the connection to KUKSA.val is websocket based using the boost::asio framework, but the plan is to migrate to gRPC as that becomes more robust in KUKSA.val. As well, this new code will serve as the base for implementing a gRPC API to expose the full set of WirePlumber controls as was done with the previous binding. Notable changes: - New code is completely C++, partly to leverage using Boost, but also to futureproof future work with gRPC. The WirePlumber interfacing code that has been kept from the old binding is still C for now, converting it to C++ is a planned future rework. - Switch from CMake to meson for ease of development and some degree of futureproofing. - Use with systemd is assumed; behavior follows the systemd daemon guidelines barring the use of journald logging prefixes, which may be addressed with future work. A systemd unit is also installed as part of the build. - SPDX license headers using SPDX "short identifiers" are used in source files rather than the full copyright headers used in the previous codebase. This follows the direction that projects such as the Linux kernel are going in. Bug-AGL: SPEC-4409 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ibb7091c4354432bb094147d1419ab475486a4abc (cherry picked from commit 298bbf445a731b85cb8d5d19a3b595e8870d8701)
2021-06-24audiomixer: fix calls to g_variant_lookup()marlin_12.93.0marlin_12.91.0marlin_12.90.1marlin_12.90.0marlin/12.93.0marlin/12.91.0marlin/12.90.1marlin/12.90.012.93.012.91.012.90.112.90.0George Kiagiadakis1-2/+2
* 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
2021-04-20audiomixer: port to wireplumber 0.4lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.011.92.0George Kiagiadakis4-278/+228
* 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
2020-09-18Fix build of audiomixer test wgt with SDKkoi_10.93.0koi_10.92.0koi_10.91.0koi/10.93.0koi/10.92.0koi/10.91.010.93.010.92.010.91.0Jan-Simon Moeller1-12/+12
The build of the tests would fail with a parsing error. Fix it. Bug-AGL: SPEC-3590 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I3c257210cb2fb7031513e919750b369216de6f07
2020-08-31Start on bootjellyfish_9.99.4jellyfish/9.99.49.99.4Scott Murray1-0/+1
Update widget config.xml.in to add "run-by-default" permission. Bug-AGL: SPEC-3558 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ib59442b3ee318f47f8da4412691e29257eefc381
2020-07-06Add test bindings for agl-service-audiomixerjellyfish_9.99.3jellyfish_9.99.2jellyfish/9.99.3jellyfish/9.99.29.99.39.99.2Li, Xiaoming6-0/+174
- Create the file and folders structure required. for building test bindings. Add all required Cmake files. - Create aft-agl-audiomixer.json configuration file for testing binding. - Create audiomixer.lua for testing bindings. Bug-AGL: SPEC-3458 Change-Id: I16d43abb29d4a124801c704b4080ba5cba16e1c8 Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
2020-06-09Update autobuild scriptsjellyfish_9.99.1jellyfish/9.99.19.99.1Scott Murray2-204/+154
Update autobuild scripts with reworked version that fixes building outside of the source tree. Bug-AGL: SPEC-2049, SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ic93266a0ad6d909fe4c19349d06102fa88f71612
2020-02-18Update autobuild script to create new targetsFrederic Marec2-26/+174
Update autobuild script to create multiple widget target debug, coverage and all Bug-AGL: SPEC-2049 Signed-off-by: Frederic Marec <frederic.marec@iot.bzh> Change-Id: I7340889e46b92b2a8cea2f3c243717e0aaaf0b8a
2020-02-11Update .gitreview fileJan-Simon Möller1-0/+5
This updates the gitreview file in the project . Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: I172d215baca1f5ce186dc705409e02ea6fda169e
2019-12-24audiomixer: rework event handling to avoid race conditionsicefish_8.99.5icefish/8.99.58.99.5George 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. Change-Id: Ied705592f889a0262465ed5efa711233a66d579b Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-12audiomixer: port to the new endpoints APIicefish_8.99.4icefish_8.99.3icefish/8.99.4icefish/8.99.38.99.48.99.3George Kiagiadakis2-444/+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: I4fc78c4182259b6405c1eeaa1823c3bac83ba2ee
2019-12-12fix(confg.cmake): set PROJECT_URL to silence CMake warningLi Xiaoming1-0/+1
No homepage url found. Please set a PROJECT_URL cmake variable in your config.cmake. Bug-AGL: SPEC-2804 Change-Id: I6e135c06c6aa5315ffb9db3907bb20c533ddc79e Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-12-12audiomixer: add steering wheel event processing supportMatt 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-12-06fix API usage after changesicefish_8.99.2icefish/8.99.28.99.2George Kiagiadakis1-3/+1
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I4c00d355a2dc452ebae413f0abf39308ba314f56
2019-12-06disable all usage of the endpoint extension to make this compile for nowGeorge Kiagiadakis1-4/+12
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: Ieba770a3902fa4081ea4b9a1c9506b9abd82f35b
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