Repurpose into VIS client 18/27718/1 13.93.0 needlefish/13.93.0 needlefish_13.93.0
authorScott Murray <scott.murray@konsulko.com>
Sat, 18 Jun 2022 00:24:27 +0000 (20:24 -0400)
committerScott Murray <scott.murray@konsulko.com>
Mon, 4 Jul 2022 22:29:37 +0000 (22:29 +0000)
commit509105d48cd1524cba1f20c4e0641d8c2d3a9cb4
treec9739f3e7bc741efb8c2760bf0dc917e920f5824
parentdadd3d771d5b27a455afffed8437c0a2e6db26b2
Repurpose into VIS client

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)
26 files changed:
CMakeLists.txt [deleted file]
autobuild/agl/autobuild [deleted file]
autobuild/linux/autobuild [deleted file]
binding/CMakeLists.txt [deleted file]
binding/audiomixer-binding.c [deleted file]
conf.d/cmake/config.cmake [deleted file]
conf.d/wgt/config.xml.in [deleted file]
meson.build [new file with mode: 0644]
src/audiomixer-service.cpp [new file with mode: 0644]
src/audiomixer-service.hpp [new file with mode: 0644]
src/audiomixer.c [moved from binding/audiomixer.c with 99% similarity]
src/audiomixer.h [moved from binding/audiomixer.h with 91% similarity]
src/main.cpp [new file with mode: 0644]
src/meson.build [new file with mode: 0644]
src/vis-config.cpp [new file with mode: 0644]
src/vis-config.hpp [new file with mode: 0644]
src/vis-session.cpp [new file with mode: 0644]
src/vis-session.hpp [new file with mode: 0644]
systemd/agl-service-audiomixer.service [new file with mode: 0644]
systemd/meson.build [new file with mode: 0644]
test/CMakeLists.txt [deleted file]
test/afb-test/CMakeLists.txt [deleted file]
test/afb-test/etc/CMakeLists.txt [deleted file]
test/afb-test/etc/aft-agl-audiomixer.json [deleted file]
test/afb-test/tests/CMakeLists.txt [deleted file]
test/afb-test/tests/audiomixer.lua [deleted file]