audio: Add audio amplifier HAL

This is a squash of the following commits.

commit dabc25c1d073a0f32b706e59b87ac89f67389107
Author: Ethan Chen <>
Date:   Fri, 03 Jul 2015 21:35:30 -0700

    audio: Notify amplifier HAL of device enable/disable

    Change-Id: Ice808c9b55a9e3bc8bafe5ca3ff555377d38dd8f

commit 5b2337c434acff34d85ae14b9cc2d3507fdffe52
Author: Scott Mertz <>
Date:   Fri, 11 Sep 2015 12:09:06 -0700

    amplifier: add set_parameters method

    - audio hal should pass the audio_device parameters to the amplifier
      to allow the amplifier to make decisions based on the additional
      parameters.  For example, we may want to change settings for DTS
      TrueMedia use case.

    Change-Id: Iccf6ef7ced2abd2e12e857eea8e580cda15eec04

commit 6a6c815e74bc9c8da0cead508dfa722229ea878f
Author: Scott Mertz <>
Date: Wed, 21 Oct 2015 10:11:49 -0700

    audio_amplifier: fix compilation

    stdlib.h is needed explicitely with the new
    toolchain/toolchain options.

    Change-Id: I876041828310ec8f9fb1e0d636a38cce1977d9b9

commit dcc6b5fd693b129492a45ec75038ca582689bd5d
Author: Ethan Chen <>
Date: Fri, 15 Jan 2016 16:12:39 -0800

    amplifier: Fix compilation warning

    * Forward declare str_parms

    Change-Id: Iafb0ad8e4b0696807cfe568d0f89ce5dad6bcade

commit 978ac098d6cde55bc5090ea83a9bda2ee176577b
Author: codeworkx <>
Date:   Sat Mar 24 21:30:34 2018 +0100

    audio_amplifier: add hooks for stream parameter manipulation

    This allows to modify audio parameters before the first
    device selection happens which is necessary when setting ANC parameter
    since it must happen before audio hal hits voice_start_call() and
    selects devices. If setting ANC after stream has been started it will
    trigger a re-selection of devices and cause a short downtime.

    Change-Id: Icfddab5ce27235c1567a0557e63b3a7421778187

commit fbd7069e5c87772338608e026f60d2fef37ca5f3 (HEAD)
Author: Pig <>
Date:   Tue Sep 22 21:41:59 2020 +0800

    audio_amplifier: Add new hook for setting amp feedback

Change-Id: Ifcea8b0c680c5066ed17cd41c29a49a8a9508aea
3 files changed