audio_server: replace gRPC with binder [1/1]

PD#SWPL-128344

Problem:
Improve audio server IPC mechanism.

Solution:
Change audio server IPC mechanism from gRPC to binder with
new audio client and audio service that use binder.

Verify:
1. Cherry pick change from https://scgit.amlogic.com/#/c/330066/ to
obtain updated bitbake file for compilation.
2. Compile hal_audio_service source code with bitbake lib32-aml-audio-service.

For steps 3 to 5, if any of the binaries exist on the box,
it is recommended for one to make a backup of those binaries
before proceeding with those steps.

3. Copy libaudio_client.so to /usr/lib on box.
4. Copy audio_server to /usr/bin on box.
5. Copy audio_client_binder_test to /usr/bin on box.
6. Execute audio_server on one console.
7. Execute audio_client_binder_test or an existing test binary on another console.

Alternatively, you can use systemctl start audioserver
and systemctl stop audioserver.

To revert to gRPC,
change the value of RPC in aml-audio-service_git.bb from "binder" to "gRPC",
recompile with bitbake lib32-aml-audio-service,
and follow steps 3-4.

audio_client_binder_test is not part of "gRPC" option.

If RPC changes do not seem to go through,
remove the .o files and generated binary files in the source code,
then recompile.

Change-Id: I3fd28ba6195d3dcd13197ce85c11169321c33211
15 files changed
tree: a9f0e08c9403b75b751d91f1c48d01e6933b86b3
  1. include/
  2. src/
  3. Makefile