History log of /frameworks/av/services/audiopolicy/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e4c3c4310f4e4a76195dc08323c4a26dd28ffd08 15-Dec-2016 Jaekyun Seok <jaekyun@google.com> Use libxml2 as shared lib.

The dependencies to static libraries in frameworks should be removed
as many as possible to reduce a size of the system partition.
And that will improve coverage of the VNDK libraries because this
effort might find new necessary shared libs which were linked
statically before.

Size diffs of affected binaries on sailfish-userdebug build are as
follows.

libaudiopolicymanagerdefault.so: 583440 -> 267288 (-316152)
libaudiopolicymanager.so : 16008 -> 16004 (-4)

total : (-316156)

Test: building succeeded, and the image was tested on sailfish.
Bug: 33056637
Change-Id: I51d98c5c2b5d94561190a1651063737fb1cb06ff
/frameworks/av/services/audiopolicy/Android.mk
08dab5ae92ddd1f3b337b6e35f918fea8c284a56 07-Dec-2016 Jaekyun Seok <jaekyun@google.com> Use libmedia_helper as shared lib.

The dependencies to static libraries in frameworks should be removed
as many as possible to reduce a size of the system partition.
And that will improve coverage of the VNDK libraries because this
effort might find new necessary shared libs which were linked
statically before.

Size diffs of affected binaries on angler-userdebug build are as
follows.

libmedia : 598056 -> 547928 (-50128)
libstagefright : 1496420 -> 1492124 (-4296)
libaudiopolicyservice : 75372 -> 66940 (-8432)
libaudiopolicymanagerdefault: 613168 -> 583516 (-29652)
libaudioflinger : 397840 -> 364380 (-33460)
libaudiohal : 114752 -> 68684 (-46068)
libaudiopolicyenginedefault : 122096 -> 71968 (-50128)
libmedia_helper : 0 -> 66288 (+66288)

total : (-155876)

Test: building succeeded, and the image was tested on angler.
Bug: 33056637
Change-Id: I00a71e518337a1efcf7f55256145776311596991
/frameworks/av/services/audiopolicy/Android.mk
8243fcd644bd4b4865c3977435bb758c981ccf65 29-Nov-2016 Eric Laurent <elaurent@google.com> remove support for legacy audio policy manager

Test: make

Change-Id: I7294a52674abadfdbc4da40a72c8fe1a229d0815
/frameworks/av/services/audiopolicy/Android.mk
300379ab01ec4c5f9f538284dbb1e49ad012de29 07-Nov-2016 Mikhail Naganov <mnaganov@google.com> Merge "Move TypeConverter into a shared library"
913d06c099bd689375483a839e11057ccf284d1c 01-Nov-2016 Mikhail Naganov <mnaganov@google.com> Move TypeConverter into a shared library

This will be needed for the default implementation of the audio HAL
in TREBLE for parsing supported formats etc. provided by HAL in
a form of string literals.

As a bonus, remove some hand-written type conversions in AudioFlinger
used in dumps.

Example changes in the dump output:

HAL format: 0x1 (pcm16) ==> HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
Processing format: 0x5 (pcmfloat) ==> Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)
Output device: 0x2 (SPEAKER) ==> Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)
Input device: 0 (NONE) ==> Input device: 0 (AUDIO_DEVICE_NONE)
AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) ==>
AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)

Test: make & run
Change-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f
/frameworks/av/services/audiopolicy/Android.mk
538ec5e04f389cba637b030757be317fcb8677a8 02-Nov-2016 Marco Nelissen <marcone@google.com> Split libmedia into libmedia and libaudioclient

This makes it so audioserver doesn't need to link against the entire libmedia,
which has dependencies on camera, ICU, OpenGL and other things that aren't
needed for audio.

Test: build/boot

Change-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af
/frameworks/av/services/audiopolicy/Android.mk
c661ae6165338fd5f0bca50a63058b4bcd6def4b 25-Oct-2016 Marco Nelissen <marcone@google.com> Remove unneeded links with dynamic libraries

Various media components were linking against dynamic libraries that weren't needed.

Test: built and booted

Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
/frameworks/av/services/audiopolicy/Android.mk
c2f710f89ec1a3ea8e448bfafcc02b03529cc681 18-Oct-2016 Mikhail Naganov <mnaganov@google.com> Move audio_effects_conf.h to system/audio_effects

This file is not really related to HAL.

Change-Id: Ie584266c708cebac651997c8086032b4cc25832b
Test: make
/frameworks/av/services/audiopolicy/Android.mk
fcddb0b73931d207b21bd281a7df3ba2f230a607 09-Jul-2016 Glenn Kasten <gkasten@google.com> Enable strict warning checks and fix

Change-Id: Id401a937911eb418e93314812f2f7c2b5ecff8d6
/frameworks/av/services/audiopolicy/Android.mk
8fa2697e21c61998f78c346251d2c08f77d720ea 03-Mar-2016 Andy Hung <hunga@google.com> Update audio services for 64 bit compilation

audioserver still runs in 32 bits

Bug: 27479136
Change-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647
/frameworks/av/services/audiopolicy/Android.mk
d1ab2bd4f1ea166a7e9e81cfd7f3e5dd47135d4d 02-Dec-2015 François Gaffie <francois.gaffie@intel.com> audio policy: move volume table to XML file

This patch allows to store in XML file volume tables.
The compatibility is maintained for legacy conf file.
Configurable Engine is only compatible with new XML conf.
This patch removes from configurable engine Structure / Settings the volume
table but keep the configurabllity of switching volume profiles from
one another according to criteria like phone state...
(ex: DTMF stream type is following Voice Profile in call)

Change-Id: I78c91bc3378b6c47202abe7b5c1c1e011ff62eed
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
f4ad6e5637b6deccdac4b60615383f290b3806cf 19-Nov-2015 François Gaffie <francois.gaffie@intel.com> Audio policy: implement configuration file in XML

This patch introduces configuration file of the policy in XML.
Legacy configuration file is used by default and
compilation flag USE_XML_AUDIO_POLICY_CONF must be defined to
use XML file format.

Change-Id: I352b788b5829d42ed82c851a4faef0e526be582e
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
a8ecc2c72ca26389bd6b0162181d60aaeaca8149 09-Nov-2015 François Gaffie <francois.gaffie@intel.com> audio policy: remove deserialization from policy objects

This patch removes the responsability of the deserialization of all
objects managed by the policy by:
-adding required accessors
-moving deserialization function to Config parser helper
-adds a TypeConverter to associate string to / from values of all
audio enumeration shared between HALs and policy.

Change-Id: I1ce798848f4657b37e47446c9fbdc63f7ed0390e
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
20f06f996337c9bf79d0b112083f6427a122ebab 24-Mar-2015 François Gaffie <francois.gaffie@intel.com> Add a configurable version of the policy engine based on PFW

This patch adds a configurable version of the policy engine
based on the parameter framework.
This configurable engine shall be activated with a flag
USE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk

This patch provides the generic configuration as an example.
This configuration provides the same user experience as the default
policy engine.

- Fix M Issue on configurable policy engine version.

- Remove the "empty static lib include trick" hack

The code was using a hack to import headers only through an empty lib.
This trick was used not only by the PFW and its plugin but also internally
with policy.

This patch removes this hack and either links againts the real libraries if exist
or point on the path of the header.
However, since header directories are not recursively detected on Andoid, we need to manually
add all necessary libraries. (for example libicuuc needed by libxml2)

- let the build system decide which compiler and which stl is to be used

- Disable by default Audio Policy Settings XML file generation at compilation time

In order not to depend on python tool for the configurable policy example,
this patch adds the generated Settings XML file and disables the generation
from .pfw files at compile time.
If the user wishes to regenerate it, he may use the pfw_rebuild_settings
option.

- Fix Clang issues within Configurable Audio Policy

Fix compilation issues revealed when switching to CLANG compiler
within the configurable version of policy engine.

Change-Id: I3edc26db94c0bf8a76430ab8081bae52e9193705
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
6fc6a64fa3b0a9e4577eb763590f531c0a50a27b 25-Apr-2015 Eric Laurent <elaurent@google.com> Revert "Add a configurable version of the policy engine based on PFW"

This reverts commit 65c3781db3443531deacecfbda5c7e7e82868a34.

Change-Id: Ib61cd70f97c4c4f4b503fb845643627d6896f4f9
/frameworks/av/services/audiopolicy/Android.mk
65c3781db3443531deacecfbda5c7e7e82868a34 24-Mar-2015 François Gaffie <francois.gaffie@intel.com> Add a configurable version of the policy engine based on PFW

This patch adds a configurable version of the policy engine
based on the parameter framework.
This configurable engine shall be activated with a flag
USE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk

This patch provides the generic configuration as an example.
This configuration provides the same user experience as the default
policy engine.

Change-Id: Ic8217333ae370b89bfdd2ad11320c5f14ea4da34
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
2110e04cdfbf9ad85ce154ce5f778ee5ccfc95eb 24-Mar-2015 François Gaffie <francois.gaffie@intel.com> Split ManagerDefault into manager and engine

This patch defines an interface for a new component: policy engine.
The APIs found under this interface are the one we may want to customize
and to configure easily.
This patch also split the current manager code into manager and engine to
provide a default version of the policy engine.

Change-Id: I97cf59760b53d248fe9efe466ae5e73bd7e5cc06
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
53615e29c99c5e9d2ca77aaefd7bf5c770513120 19-Mar-2015 François Gaffie <francois.gaffie@intel.com> Migrate helper functions from managerdefault to common

This patch moves from manager to common:

-parse helper functions of the policy configuration file
-collection helper function on
-output / input descriptors
-DeviceDescriptor
-AudioPatch / Audio Port
-IO Profile
-HwModule

Change-Id: If45e53418db75af1af198f43c4ef27884499055f
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
98cc191247388132b6fd8a4ecd07abd6e4c5a0ed 18-Mar-2015 François Gaffie <francois.gaffie@intel.com> Split ManagerDefault into Manager and ManagerDefinitions

This patch splits the managerdefault into a manager and a manager
defintion library that contains all pillar elements of a policy manager.

It renames the file with the name of the main class they contains.

It splits the AudioPort into AudioPort and AudioPatch.

Change-Id: I992cf0b8aed895805cc003ba0980d2c9e92c985b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
/frameworks/av/services/audiopolicy/Android.mk
56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd 24-Jan-2015 Jean-Michel Trivi <jmtrivi@google.com> Refactor AudioPolicyManager

AudioPolicyManager implementation is now split into the
following files:

files managerdefault/Gains.*
class AudioGain
class VolumeCurvePoint
class StreamDescriptor

files managerdefault/Devices.*
class DeviceDescriptor
class DeviceVector

files managerdefault/Ports.*
class AudioPort
class AudioPortConfig
class AudioPatch

files managerdefault/IOProfile.*
class IOProfile

files managerdefault/HwModule.*
class HwModule

files managerdefault/AudioInputDescriptor.*
class AudioInputDescriptor

files managerdefault/AudioOutputDescriptor.*
class AudioOutputDescriptor

All files for libaudiopolicyservice are moved under service/

All files for libaudiopolicymanager are moved under manager/

Change-Id: I43758be1894e37d34db194b51a19ae24461e066e
/frameworks/av/services/audiopolicy/Android.mk
5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a 07-Jan-2015 Chong Zhang <chz@google.com> make libserviceutility a shared lib

so that we have only one getpid_cached in mediaserver process

bug: 18919657

Change-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc
/frameworks/av/services/audiopolicy/Android.mk
df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871 28-Jul-2014 Eric Laurent <elaurent@google.com> Add sound trigger control by audio policy

Audio policy:
- Added active capture indication to sound trigger service:
recognition stops if concurrent capture is not supported.
- Added generation of reserved I/O handle and session ID for
utterance capture.

Sound trigger service
- Added sound model update callback handling.
- Added service state callback
- Simplified callback shared memory allocation.

Bug: 12378680.

Change-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1
/frameworks/av/services/audiopolicy/Android.mk
a7e04803ffa0d8d4cc51a122f68bf5038422aabb 21-Jul-2014 Glenn Kasten <gkasten@google.com> Remove execute bit

Change-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff
/frameworks/av/services/audiopolicy/Android.mk
ba2b43990a7b4f0f2c425cf6cdfc63376a45772c 11-Jun-2014 bryant_liu <bryant_liu@htc.com> frameworks: av: services: audiopolicy: Added AudioPolicyEffects

Manage pre- and postprocessing effects defined in audio_effects.conf

Change-Id: Idea1478e3d434f8ff66907adb3c77663db78d583
/frameworks/av/services/audiopolicy/Android.mk
f269b8e0e9ab950fc6652b9594b7a3431c81630c 10-Jun-2014 Eric Laurent <elaurent@google.com> audio policy: use factory to create audio policy manager

Use the class factory to create the audio policy mamager
instead of AudioPolicyManager class constructor and
use a pointer to an AudioPolicyInterface.

Change-Id: Ibb5a8eee5d597db67cf13f279c909181cfee9949
/frameworks/av/services/audiopolicy/Android.mk
7a0aecb09a562fec144c07aeb7a3468a1e6da52e 23-May-2014 Eric Laurent <elaurent@google.com> audio policy: enable use of new AudioPolicyManager

Do not define USE_LEGACY_AUDIO_POLICY by default.
By default, all devices will now use the new audio policy implementation
in AudioPolicyManager.cpp

To continue using the legacy audio policy implemented by
AudioPolicyManagerBase in libhardware_legacy a device should
define USE_LEGACY_AUDIO_POLICY in its makefile.

Change-Id: I7b8cac3cbb24b11105ba6233501c7212f5985727
/frameworks/av/services/audiopolicy/Android.mk
98c6be0e30fa28e752b13f3dd5986d41710bb7ae 21-May-2014 Eric Laurent <elaurent@google.com> audio policy: split audio policy library

Split audio policy library into a service part and a policy part.
This will allow OEMs to customize the policy part:
- libaudiopolicyservice for the service.
- libaudiopolicymanager for the policy.

Two build options can be defined in device make file to select
the policy library:
- USE_LEGACY_AUDIO_POLICY = 1: this will use the legacy policy
in hardware/libhardware_legacy implemented by AudioPolicyManagerBase class.
This policy is loaded as a harware module and exposes the audio policy HAL
defined in include/hardware/audio_policy.h and is in a library called
audio_policy.XXX.so (e.g audio_policy.default.so)

The legacy HAL will not be updated with new features.

If USE_LEGACY_AUDIO_POLICY is not defined, the policy is implemented by
a class named AudioPolicyManager exposing an interface defined in
AudioPolicyInterface.h.
The corresponding library is libaudiopolicymanager.so.

New features will be added only to AudioPolicyInterface.h

The default implementation is provided here in file AudioPolicyManager.cpp

OEMs wanting to cutomize the policy can implement the AudioPolicyManager class
and provide the libaudiopolicymanager.so library.
In this case the device make file should define:
- USE_CUSTOM_AUDIO_POLICY = 1

For now, USE_LEGACY_AUDIO_POLICY = 1 is forced in audio policy service make file.
This will be removed when the new audio policy is enabled.

Change-Id: I066799dacc9b182b468a43d48ff7798c9109a414
/frameworks/av/services/audiopolicy/Android.mk
dce54a1492c410ad0d93253b341fb33305337505 10-Mar-2014 Eric Laurent <elaurent@google.com> audio policy: add option to use new policy manager

Add build option USE_LEGACY_AUDIO_POLICY to use either new
audio policy manager in local AudioPolicyManager.cpp
or the legacy AudioPolicyManagerBase.cpp via the policy HAL.

New features will be implemented only by the new audio policy manager.
Platform customiization will be by config file or new policy HAL.

AudioPolicyClientImplLegacy.cpp copied from AudioPolicyClientImpl.cpp
AudioPolicyInterfaceImplLegacy.cpp copied from AudioPolicyInterfaceImpl.cpp

New implementations of AudioPolicyInterface and AudioPolicyClient talking directly to
AudioPolicyManager.

Change-Id: I7a320883a1de13de2c9295343e996addf2f3c154
/frameworks/av/services/audiopolicy/Android.mk
2d388eccc9dc085337c7a03a68467cbee6b809e1 07-Mar-2014 Eric Laurent <elaurent@google.com> audio policy: split implementation

Split audio policy service implementation to ease
further evolution:
AudioPolicyInterfaceImpl.cpp contains the implementation of
IAudioPolicyService interface
AudioPolicyClientImpl.cpp contains the implementation of the
AudioPolicyManager client interface
AudioPolicyService.cpp contains the rest of the code mostly
command threads implementation and pre processing management.

AudioPolicyService.cpp:

Change-Id: Ic48ba165532ef66e84a30894d01f750ed6619d02
/frameworks/av/services/audiopolicy/Android.mk
c7e5040aa8b8e4da86814bf560346c7571e48087 06-Mar-2014 Eric Laurent <elaurent@google.com> move audio policy service to a separate library

Change-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf
/frameworks/av/services/audiopolicy/Android.mk