• Home
  • History
  • Annotate
  • only in /frameworks/av/services/audiopolicy/engineconfigurable/src/
History log of /frameworks/av/services/audiopolicy/engineconfigurable/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c7ce9a2ee61ecabdedc87ae8635eb80a5fbce17c 09-May-2016 François Gaffie <francois.gaffie@intel.com> engine configurable: add conf for product without devices

this patch provides an example of configuration of policy engine
for platforms:
-without output devices
-without input devices.

Change-Id: I5e8a159de085e35fb245f2efb54f609d8e89ce16
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
nputSource.cpp
trategy.cpp
4ac9d8441da55d95a60e92725576e38d7cc6cb34 12-Apr-2016 François Gaffie <francois.gaffie@intel.com> audio policy: engine configurable: improve accessibility volume

This is the counter part patch of 28d09f06422841b4274d7fed6ad3441dc97382b2
for configurable engine verion based on the parameter framework.

It solves:
regressions caused by the introduction of accessibility stream type and strategy in M.

- change the way ACCESSIBILITY usage maps to a given strategy: always map
to strategy ACCESSIBILITY but implement a specific device selection for
strategy ACCESSIBILITY in getDeviceForStrategy(). This makes sure that
accessibility prompts always use ACCESSIBILITY stream type.

- optimize getDeviceForStrategy() to avoid reloading the list of outputs
and devices from the observer when called recursively.

- make sure that all volume APIs also take into account ACCESSIBILITY stream
when called for MUSIC stream. Generalize the concept of matching strategies
for straqegies that should be considered equivalent for volume control.

Bug: 25067903
Bug: 25616373

Change-Id: Ie674e6bfb5d1b25f71a9fd31cd2405c263b1732b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ngine.cpp
28d09f06422841b4274d7fed6ad3441dc97382b2 08-Mar-2016 Eric Laurent <elaurent@google.com> audio policy: improve accessibility volume

Fix some regressions caused by the introduction of accessibility
stream type and strategy in M.

- change the way ACCESSIBILITY usage maps to a given strategy: always map
to strategy ACCESSIBILITY but implement a specific device selection for
strategy ACCESSIBILITY in getDeviceForStrategy(). This makes sure that
accessibility prompts always use ACCESSIBILITY stream type.

- optimize getDeviceForStrategy() to avoid reloading the list of outputs
and devices from the observer when called recursively.

- make sure that all volume APIs also take into account ACCESSIBILITY stream
when called for MUSIC stream. Generalize the concept of matching strategies
for straqegies that should be considered equivalent for volume control.
Modifications in:
- initStreamVolume()
- setStreamVolumeIndex()
- isStreamActive()
- getDevicesForStream()

Bug: 25067903
Bug: 25616373
Change-Id: Id8c7dd3231f79572b278407bc73186fc42dcc028
ngine.cpp
814ce809867326e6ba46583444476e9f63ad01f7 18-Jan-2016 François Gaffie <francois.gaffie@intel.com> audio policy: engine configurable: support fail safe

When the parameter manager could not be launched, the engine will abort if
LOG_NDEBUG is defined, unless a segmentation fault will happen later.
This patch allows fail safe feature when LOG_NDEBUG is not defined.

Change-Id: Ie78575bddad6d19beed61673979e1b8ef1c70b0e
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ngine.cpp
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>
ngine.cpp
ngine.h
tream.cpp
tream.h
a3e696da3872250bca66a62d93a3b6114e20c27d 18-Dec-2015 François Gaffie <francois.gaffie@intel.com> audio policy: engine configurable: fix support of multiple devices of same type

The configurable policy is using criteria for the available devices based on
the type. If multiple devices of the same type (as remote submix) are removed
and added, the bit associated to this type within the criterion shall be set
as far as at least one device of this type is connected.
It was not the case, this patch is fixing this issue.

Change-Id: Id6a83b753907a9b0f07bf8552e50ee28e990a83e
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ngine.cpp
ngine.h
8fa2458708fa775c2562d836d8f87ac30d5970f4 05-Dec-2015 Eric Laurent <elaurent@google.com> Merge "audio policy: configurable engine: fix dead lock issue"
8649a34c282954ccb64a507b1085313e3ceafc38 03-Dec-2015 François Gaffie <francois.gaffie@intel.com> audio policy: configurable engine: fix dead lock issue

This patch fixes a dead lock issue within configurable engine
of the audio policy. A clear was calling itself in loop instead
of calling clear on its base class.

Change-Id: I9f7c5f6425fbba36e029664ac130cbeafeca4ddf
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ollection.h
tream.cpp
f8ad572ea6259534dd2a9ef160e59976f5514951 04-Dec-2015 Eric Laurent <elaurent@google.com> Merge "Volume should take VOLUME_MIN_DB value when audio is muted." am: 2e12b68fad am: e04b1e747e
am: a4d6e82d47

* commit 'a4d6e82d474fd8c18d27f879bd8643b918b7af91':
Volume should take VOLUME_MIN_DB value when audio is muted.
8cf5cf7c49e6c7cff160149727b17e1ab6015409 10-Nov-2015 Safa Boumaiza <Safax.boumaiza@intel.com> Volume should take VOLUME_MIN_DB value when audio is muted.

Audio can be heard when muting volume as the minimum volume
value takes 0.0f instead of VOLUME_MIN_DB (-758).

This patch fixes the minimum volume value which should be
VOLUME_MIN_DB instead of 0.0f.

Change-Id: I4cb8093b6d9f18e5330ba5f770b9133baa77542f
Signed-off-by: Safa Boumaiza <Safax.boumaiza@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
tream.cpp
d0609ad390ff8bb1cafebdf363bf1d15e63b949f 01-Dec-2015 François Gaffie <francois.gaffie@intel.com> audio policy: move device_category type outside volume class

This patch prepares the removal of hard coded volume tables by
moving outside volume class the device_category enumeration.

Change-Id: Ic712377898276a39bb782ac0bc7f793cdd7fa8bd
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ngine.cpp
ngine.h
tream.cpp
tream.h
0f17ab7f9fac4327a8772e9199f411af7df912a4 13-May-2015 François Gaffie <francois.gaffie@intel.com> Bug fix on Engine Configurable

This patch fixes a couple of issue within audio policy engine configurable
-valgrind error detected within the parsing of the configuration file
-configuration file typos
-start of the PFW delayed to the init in order to wait the full construction
of the engine object
-wrong specialization of template functions.
-broadcast volume min / max init to stream collection of manager & PFW

Change-Id: I08823ab4040c92b719747c60cc3fa5c8b5f172ac
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
ngine.cpp
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>
ollection.h
lement.h
ngine.cpp
ngine.h
ngineInstance.cpp
nputSource.cpp
nputSource.h
trategy.cpp
trategy.h
tream.cpp
tream.h
sage.cpp
sage.h
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
ollection.h
lement.h
ngine.cpp
ngine.h
ngineInstance.cpp
nputSource.cpp
nputSource.h
trategy.cpp
trategy.h
tream.cpp
tream.h
sage.cpp
sage.h
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>
ollection.h
lement.h
ngine.cpp
ngine.h
ngineInstance.cpp
nputSource.cpp
nputSource.h
trategy.cpp
trategy.h
tream.cpp
tream.h
sage.cpp
sage.h