• Home
  • History
  • Annotate
  • only in /frameworks/av/services/audiopolicy/common/
History log of /frameworks/av/services/audiopolicy/common/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
634b71478742310960f3fdb4241e70a0735712c4 20-Apr-2016 Eric Laurent <elaurent@google.com> audio policy: fix regression in getDeviceConnectionState().

Fix problem in DeviceVector() device search logic causing
failure to report connection of devices when no address is provided
(e.g when called from AudioManager.isBluetoothA2dpOn()).

Bug: 28286051
Change-Id: I7ca732e195d2ddcdc1a93b78aed21523b3461aa9
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/HwModule.h
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
0631aee95c5a98fb2dc0a45f093f9bd0cfbe463f 19-Apr-2016 Eric Laurent <elaurent@google.com> fix the build

Fix the build for platforms using legacy audio_policy.conf file
broken by commit 5a2b6298.

Change-Id: Icb9c8027b1a8163d19162f311ec1364da7383a2c
anagerdefinitions/src/StreamDescriptor.cpp
5a2b62984c7cecd1761fe272c078dd814c167942 15-Apr-2016 Eric Laurent <elaurent@google.com> audio policy: support platforms with no audio devices

Remove requirement to declare an AUDIO_DEVICE_OUT_SPEAKER device
for platforms without audio output.

By convention:
- platforms without audio output should declare a single output
device of type AUDIO_DEVICE_OUT_STUB also declared as default
output device
- platforms without audio input should declare a single input
device of type AUDIO_DEVICE_IN_STUB

Platforms with no audio at all can use stub audio policy configuration
file and audio HAL with the following instructions in device.mk file:

USE_XML_AUDIO_POLICY_CONF := 1
PRODUCT_PACKAGES += \
audio.stub.default
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_stub.xml:system/etc/audio_policy_configuration.xml

Bug: 25075342
Change-Id: Id700978559427edd3c7cc38d98f2fd52928367ed
nclude/policy.h
anagerdefinitions/include/VolumeCurve.h
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/StreamDescriptor.cpp
anagerdefinitions/src/TypeConverter.cpp
8ae73129e7e79d826b293238c2f037f723d0e6e8 12-Apr-2016 Eric Laurent <elaurent@google.com> audio policy: fix call audio over 24 bit USB device

Take into account voice RX source device properties when
configuring the audio patch bridging the voice RX device
to the USB output device.

Bug: 25643110

Change-Id: I06f282d3cc12493f21500bf9ab35a3ceb93f14af
anagerdefinitions/src/DeviceDescriptor.cpp
da65b5a3502ae06a65f09d9983c89b7fd9369316 09-Apr-2016 Andy Hung <hunga@google.com> Merge "AudioPolicyManager: Tally max effects memory usage" into nyc-dev
0fd0d0c1e33303d2a2cbce23dabc13f7036d108e 08-Apr-2016 Eric Laurent <elaurent@google.com> Merge "audio policy: fix volume burst on user switch." into nyc-dev
5f1fa3053c87dd8e9dc528fb8c101907ff747746 06-Apr-2016 Andy Hung <hunga@google.com> AudioPolicyManager: Tally max effects memory usage

Bug: 27925014
Change-Id: I6d2596ed1b10ff193babeba7e6cbec36ee4fe074
anagerdefinitions/include/EffectDescriptor.h
anagerdefinitions/src/EffectDescriptor.cpp
1fd372e40ef40643fa9d036a0c9db043475b1b02 06-Apr-2016 Eric Laurent <elaurent@google.com> audio policy: fix volume burst on user switch.

Fix two main problems in setStreamVolumeIndex():

1) the conventional initialization or user switch behavior consisting in first
applying volume for AUDIO_DEVICE_OUT_DEFAULT device which resets all volumes
and then apply device specific volumes is problematic: if this is done while
a stream is active, it will temporarily reset the volume to its default
(usually loud) and then back causing an audible glitch.

2) The logic consisting in applying the requested volume to all outputs with a
device selected by the routing strategy corresponding to the requested stream
is problematic: it will cause device specific volumes for other devices than
current one to be applied to active streams.
Restrict the logic to cases of multiple device selections including the
requested device.

Bug: 27557733

Change-Id: Ia14cd51766a7516c42221abff76843d47699105f
anagerdefinitions/include/IVolumeCurvesCollection.h
anagerdefinitions/include/StreamDescriptor.h
anagerdefinitions/include/VolumeCurve.h
2cc2a03319144bcebac5a9693319776afc471307 07-Apr-2016 Phil Burk <philburk@google.com> AudioProfile: reject profile if not exact match

In AudioProfile.cpp, the checkExact() function was treating dynamic_channels as a wildcard.
So 5.1 would match even if there were no channel masks listed as supported.

Bug: 25144047
Change-Id: I3036dca7e0ed92579b1ac7a3cf8504b0e47b7ed5
Signed-off-by: Phil Burk <philburk@google.com>
anagerdefinitions/src/AudioProfile.cpp
a13cde98a880341f0a56d91da6364b093fb5d24e 29-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_module_handle_t and audio_patch_handle_t consistently

Bug: 27814144
Change-Id: I54b7a73ec318779fd3addb060998f4d94141152d
anagerdefinitions/include/AudioSourceDescriptor.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
fdb90f355b269737fe48a2da0593b37d5c2b83c1 25-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "RENDER dynamic policies: fix address check" into nyc-dev
5ac8cd425e1a0c4287c0bb84f922fef4fa106411 25-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> RENDER dynamic policies: fix address check

Fix mix / output address comparison when registering dynamic
policy mixes with a MIX_ROUTE_FLAG_RENDER flag.
Fix mix registration code path where the matching output is
not found, but no error is reported.
Improve logs.

Bug 25448664

Change-Id: I3679aead00304b38f7cc42dd9083644450771a15
anagerdefinitions/src/AudioPolicyMix.cpp
560a198f1f95a085e24944b20df536e75e21cedb 18-Mar-2016 Andy Hung <hunga@google.com> Merge "Update audio services for 64 bit compilation" into nyc-dev
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
anagerdefinitions/Android.mk
7638ca29e8400a19524adb982e9d22c02786de82 05-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic policies: support for device selection

Dynamic policy mix: rename "registration" field to device address
as this reflects the true use of the field.
AudioPolicyManager: dynamic policy registration differs depending
on policy routing flags.
When register a mix with the RENDER flag, iterate over all outputs'
patches to find a matching device and address.

Bug 25448664

Change-Id: I71584081e7f1b2b5252fb6c4659fdeb464f7d282
nclude/policy.h
anagerdefinitions/include/AudioPolicyMix.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPolicyMix.cpp
anagerdefinitions/src/AudioSession.cpp
f7f85438503e6964aba3ddabd6228e7fefb36735 10-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: tighter match for device descriptor query

When querying a module for a device descriptor, the matching was
too "loose": if a device type and address was not found, a
match was returned for just the device. While this works for device
types where only one is connected to the system (e.g. wired headphones),
this is an improper behavior for devices such as REMOTE_SUBMIX where
multiple are "connected" to the DUT, but with different addresses.

Bug 27337358
Bug 27336527

Change-Id: I9b6464485da2bedde2d14b624133e02b5a3fa357
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
05ddca504ce8e0e61b41e5c1aebea72086eea57b 11-Feb-2016 Glenn Kasten <gkasten@google.com> AudioPolicy: capture sample rate 0 is route-specific default

Bug: 25641253
Bug: 21019153
Change-Id: I7d193640572c08ab5e5f1ecfc8ad6d31635967dd
nclude/policy.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/AudioProfile.cpp
anagerdefinitions/src/IOProfile.cpp
eeecb980ff4c202d0a3c4b0bfe040dce2f73336d 26-Feb-2016 Glenn Kasten <gkasten@google.com> Add use for audio_unique_id_t

Bug: 25641253
Bug: 21019153
Change-Id: I65dc128e760c245f3d90559635a8981b186c87d7
anagerdefinitions/include/AudioPort.h
anagerdefinitions/src/AudioPort.cpp
b3e06a7592fc189315a90a88cbea66e31c2e6b41 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioPolicy: AudioOutputDescriptor set/get for patch handle" into nyc-dev
0d035b6057cef680a3755c6a8fc914c483648903 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "Send audio patch in recording callback" into nyc-dev
ff155c642fe7d342a3110444c6103f788230af53 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: AudioOutputDescriptor set/get for patch handle

For symmetry with AudioInputDescriptor: no direct access to the
field for the patch handle.

Change-Id: I5bffecf7a157ec042d749064208bc6c279008542
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send audio patch in recording callback

Remove direct access to patch handle in AudioInputDescriptor, replace with
set / get functions.
Add interface for AudioSession to query configuration from enclosing
input descriptor.
When input descriptor's patch handle changes during a recording, propagate
the change through the recording notification callback.

Bug 26798796

Change-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/include/AudioSessionInfoProvider.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
e736431c69e2a00468d140d2af97b63e0e5aa83a 25-Feb-2016 Eric Laurent <elaurent@google.com> Merge "audio policy: add device for audio bus" into nyc-dev
7281aa9810b33eff47b00104db26c97c77931611 18-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send client / device format in recording callback

Bug 26798796

Change-Id: Ib4f64159c8371d87da49a8f0cad9317a87d843c4
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
58545be2ce4e701c8c37401edcc126a8b683890d 23-Feb-2016 Eric Laurent <elaurent@google.com> audio policy: add device for audio bus

Add audio device category representing a bus in the
audio subsystem. E.g a set of channels in MOST automotive bus.

Bug: 25448664
Change-Id: Id00da57dc45037d4d8062e9a747c423940611539
anagerdefinitions/src/TypeConverter.cpp
232f26f8b673973ffa463f80b08b731ffacc8785 18-Feb-2016 Eric Laurent <elaurent@google.com> DO NOT MERGE - audio policy: disable concurrent capture

This reverts commit 4342335fb84bfa4ec5b99e3ef82f186820c2275f.
This reverts commit 56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a.
This reverts commit 313d1e7dfb4bf8e0a2f09a9adb287062dd64410c.
This reverts commit fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f.

Bug: 22702906

Change-Id: I9085918f1f7b12e28430958cceb768bb29c12bdb
nclude/policy.h
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
e693002b0fb25099540588245892ed98103749ba 11-Feb-2016 Eric Laurent <elaurent@google.com> audio policy: select output with best sample format match

Add rules allowing selection of the output stream with the sample
format offering the best match to the client track sample format
when more than one output is compatible with a request.

Bug: 27210844

Change-Id: I31981940be5d1c06d713d52187cfb0a7bf355773
nclude/policy.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/AudioProfile.cpp
b0a144d705a021994628d136a170a6d2bd4282e7 12-Feb-2016 Phil Burk <philburk@google.com> Merge "AudioTrack: support ENCODING_IEC61937" into nyc-dev
fdb3c07db5d44535eb8c3ec46dc78ad8446c01eb 09-Feb-2016 Phil Burk <philburk@google.com> AudioTrack: support ENCODING_IEC61937

Set DIRECT flag.
Use audio_has_proportional_frames() instead of audio_is_linear_pcm()
where appropriate.

Bug: 24541671
Bug: 20891646
Bug: 26373761
Change-Id: Ia32036b18683b084d6c9887593df87397ea0afd9
Signed-off-by: Phil Burk <philburk@google.com>
anagerdefinitions/src/TypeConverter.cpp
e8decedb429ed76dfa84cdb3e80ab3b969e77298 11-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic audio policies on UID

When looking for an output, take attributes and UID into account.
To find the matching mix: for each mix
- inspect which rules are used
- find a candidate mix for usage
- check UID compatibility
Rename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent
with the fact that now mixing rules are not always about audio attributes.

Bug 26798796

Change-Id: I1520b0df190a98f197ea8e0144b770e1e6d97888
anagerdefinitions/include/AudioPolicyMix.h
anagerdefinitions/src/AudioPolicyMix.cpp
56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a 03-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Fix connection of OUT_REMOTE_SUBMIX device on APM startInput

Fix a regression in AudioPolicyManager::startInput() where
the OUT_REMOTE_SUBMIX audio device was never made available
due to the test on the input descriptor, which was already
active by the time it is tested, as the activity on the
session has already been updated.

Add methods to AudioInputDescriptor and AudioSessionCollection
to query the number of active sessions. Use the new method
to optimize AudioSessionCollection::hasActiveSession()

Bug 26798796

Change-Id: I2de4e47970505e64c4c78a148a80a9f0ec19e821
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
52d49a8a1f48c2d59769b9257e2eed988014aa03 28-Jan-2016 Eric Laurent <elaurent@google.com> audio policy: fix connected device address.

Also update the audio device address with the one passed by
setDeviceConnectionState() if the device is in the list of
declared devices but does not have an address set.

Change-Id: Ibe9008b0c96fc336a90646b98703ed238a6cf4a9
anagerdefinitions/src/HwModule.cpp
fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f 29-Jan-2016 Eric Laurent <elaurent@google.com> Revert "Revert "audio policy for concurrent capture.""

This reverts commit 84332aaa807037baca05340875f2d94fcc519ac4.

Bug:26841909
nclude/policy.h
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
35cb56342e80dbbba3a9cbf5c1398976f1f1befd 28-Jan-2016 Eric Laurent <elaurent@google.com> Merge "Revert "audio policy for concurrent capture.""
84332aaa807037baca05340875f2d94fcc519ac4 28-Jan-2016 Eric Laurent <elaurent@google.com> Revert "audio policy for concurrent capture."

This reverts commit 4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1.

Bug:26841909

Change-Id: Ifc74b195394b9fb3f73d33455ad061bd896d5331
nclude/policy.h
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
19219b44e05555b29e00ce56ce273d168fa83888 25-Jan-2016 François Gaffie <francois.gaffie@intel.com> audio policy: use reference for all default volume table

This patch migrates all default volume tables as reference
volume tables.
No implicit volume tables is allowed any more, the reference
must be given for all stream type and device category.
It allows removing the WA that was introduce to use the stream CNT
to host the default volume tables.

Change-Id: I19f5e9d2a62d448f0f8447f93acbbd2e1a723958
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/VolumeCurve.h
anagerdefinitions/src/Serializer.cpp
anagerdefinitions/src/TypeConverter.cpp
c9d7c4e35afd48ac8a315f53666943b6210dafa1 22-Jan-2016 François Gaffie <francois.gaffie@intel.com> audio policy: allows to use reference for volume table

This patch allows to definie reference attribute within XML
Volume Element and define a reference volume curve.
It allows to factorize efficiently and avoid too much XML
duplication.

Change-Id: I462808ea38d7a39e1e20fe7090a6ebee0cb3c39b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/include/Serializer.h
anagerdefinitions/src/Serializer.cpp
4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1 16-Jan-2016 Eric Laurent <elaurent@google.com> audio policy for concurrent capture.

First implementation of concurrent capture policy:
Initially, only capture for HOTWORD or FM TUNER sources or
re-route submix is allowed at the same time as any other capture.
Several capture clients can share the same input stream. In this case
active clients are sorted by audio source priority level and the input
path configuration and routing is driven by the highest priority
active source.

Bug: 22702906

Change-Id: Icbedfe001c6243ecad7a7b57ab78d893b2b97402
nclude/policy.h
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
a03910b23a31058eea178e8d3f5e84fcf852d5c2 27-Jan-2016 Eric Laurent <elaurent@google.com> Merge "audio policy: fix merging error for commit 112b0af8."
20eb3a4340a1f1f6e978a23527daff080140db1a 27-Jan-2016 Eric Laurent <elaurent@google.com> audio policy: fix merging error for commit 112b0af8.

Wrong patch set was merged from partner gerrit.

Change-Id: I850d61b1cc8682e0a82ee64bc8cb022b7512de1c
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioProfile.h
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>
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/Gains.h
anagerdefinitions/include/IVolumeCurvesCollection.h
anagerdefinitions/include/Serializer.h
anagerdefinitions/include/StreamDescriptor.h
anagerdefinitions/include/VolumeCurve.h
anagerdefinitions/src/AudioGain.cpp
anagerdefinitions/src/Gains.cpp
anagerdefinitions/src/Serializer.cpp
anagerdefinitions/src/StreamDescriptor.cpp
anagerdefinitions/src/TypeConverter.cpp
anagerdefinitions/src/VolumeCurve.cpp
e0db30868d9734f95a02df516dd0dc6a7226474b 16-Jan-2016 Eric Laurent <elaurent@google.com> audio policy: fix combo device parsing

When parsing a device type entry in audio_policy.conf, do not
load device combos (e.g AUDIO_DEVICE_OUT_ALL_A2DP) in a single
DeviceDescriptor but create one descriptor for each device type
in the combo.

Bug: 24113912.
Change-Id: I3a7f43c7fc9cf516506bb3255dd2ed86564b7cd6
anagerdefinitions/src/ConfigParsingUtils.cpp
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>
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioCollections.h
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/Serializer.h
anagerdefinitions/include/TypeConverter.h
anagerdefinitions/include/VolumeCurve.h
anagerdefinitions/src/AudioCollections.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
anagerdefinitions/src/Serializer.cpp
c16bf1d9e8ccdd27327e988d50f5b9640e5406f8 13-Jan-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioPolicy: callback for recording configuration change"
2f4fe9f7df8f22c6bc8745407d19df73128810ec 05-Dec-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: callback for recording configuration change

Each AudioSession tracks start / end of recording, and sends
a callback to AudioSystem.
AudioSystem tracks a single recording callback tracking
input source and audio session number.

Change-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioSession.cpp
fdb17f649c7480ddd83de9fd99ff48a4166a6acf 16-Dec-2015 François Gaffie <francois.gaffie@intel.com> audio policy: configurable engine: remove unecessary function

The policy plugin does not connect with any HW and does not need to
perform a backward synchronisation at startup. This patch removes
uncessary function linked with this functionality.

Change-Id: Ie0d729f0eb4ea10d9a8450902dabba1fbbf199ef
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/src/AudioCollections.cpp
cbb3044d6bfa9ab30c83b67874f40344e29805e1 19-Nov-2015 François Gaffie <francois.gaffie@intel.com> audio policy: introduce audio route concept

As a preambule of introduction of topology concept within
audio policy configuration file, this patch introduces the notion
of audio route, i.e. a link between one sink and one or more sources.
This link may be shareable (mix) or mutual exclusive (mux).

From this route concept, and in order to keep backward compatibility,
the supported device of ioprofile (what will become AudioMixPort) must
be updated.

Change-Id: If078830dbe74b003be4a64c584521df481101294
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioCollections.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioRoute.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/HwModule.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/src/AudioCollections.cpp
anagerdefinitions/src/AudioRoute.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
112b0af826aeca45855690b9c105b2cdf9938bbe 19-Nov-2015 François Gaffie <francois.gaffie@intel.com> audio policy: introduction of AudioProfile

In order to be able to declare the possible sample
specifications for an Audio Port (a given format, a list of
sample rates, a list of channels), a new object AudioProfile is
introduced.

Change-Id: Ie3ca3400f05984e7b4132fc7ba90020eb4d998c7
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
nclude/policy.h
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/AudioProfile.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/TypeConverter.h
anagerdefinitions/include/audio_policy_conf.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/AudioProfile.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
599c758b258cc5da0dba9b530425381facc37d77 08-Dec-2015 Eric Laurent <elaurent@google.com> audio policy: audio sessions on input descriptors

In preparation for concurrent capture, add support for multiple
audio sessions per input stream.

Each session keeps its own properties, open and active reference
counting.

No functional change for now: still one session per input and one active
input at a time.

Bug: 18815985.
Bug: 22702906.

Change-Id: I915a65989a7fd0d3cbe2fcf5a0aee2ea0df5f4f5
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioSession.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioSession.cpp
7b279bbc24139ee1e01b58055ca94926ec18e2e9 14-Dec-2015 Eric Laurent <elaurent@google.com> audio policy: remove compilation warnings

Change-Id: I4d41ca903dfbe37066ef20a13ebabaff1e5b7326
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/TypeConverter.cpp
65bfe916ca972b95f41d7f6cc2566c2e12a3eada 05-Dec-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicyManager: AudioInputDescriptor open ref count cleanup

Always initialize the mOpenRefCount field.
Add functions for management for open ref count.

Change-Id: I0bbd021283047abfebbc108ced68c79e29297f25
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/src/AudioInputDescriptor.cpp
5fcd6f99944d8722c57d2b2963814a1964ecfedd 27-Nov-2015 François Gaffie <francois.gaffie@intel.com> audio policy: enhancing type conversion helper

This patch updates the conversion helper class (string to/from policy
common types) by adding direction agnostic helper for channels and
formats.
It also adds the support of device category and stream type parsing.

Change-Id: I75d5a77d78bc3aeb2389b424bfb41febbf020f1a
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
nclude/policy.h
anagerdefinitions/include/TypeConverter.h
anagerdefinitions/src/TypeConverter.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>
nclude/Volume.h
anagerdefinitions/include/StreamDescriptor.h
anagerdefinitions/src/StreamDescriptor.cpp
1d4481fb9cb1ea149f79f2a5d22110af84fbc90b 19-Nov-2015 François Gaffie <francois.gaffie@intel.com> audio policy: clarify tag and name for device description

In preparation to introduction of topology within policy configuration
file, this patch clarifies the meaning of tag and name attributes of a
device.

Change-Id: I8db58be939823e87aa05b991e2afe0762eb741ca
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
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>
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioGain.h
anagerdefinitions/include/AudioPolicyConfig.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/HwModule.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/include/TypeConverter.h
anagerdefinitions/include/audio_policy_conf.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
anagerdefinitions/src/TypeConverter.cpp
7a564a0e201d8ddc7cc7b7a7202adf017b4e4836 05-Nov-2015 Eric Laurent <elaurent@google.com> Merge "audio policy: add support for external audio sources"
57f2cc1fa8165974df15bcdcaf215cc2c0c11216 02-Nov-2015 Gaurav Shah <gauravsh@google.com> Merge "audio: Change the default init value for StreamDescriptor" am: 2e5591958b am: 1d1449297e
am: bbed3af44a

* commit 'bbed3af44a9ac40a15f3c0759cef33d06d1f93b4':
audio: Change the default init value for StreamDescriptor
1d1449297e6ea4cd76119e284807f5e2b9187743 02-Nov-2015 Gaurav Shah <gauravsh@google.com> Merge "audio: Change the default init value for StreamDescriptor"
am: 2e5591958b

* commit '2e5591958b5fe897f37715145e86bf8afbde0911':
audio: Change the default init value for StreamDescriptor
5664139e0ae16bb180a8eaae917f35f7c99d2a0a 09-Oct-2015 Ralph Nathan <ralphnathan@google.com> audio: Change the default init value for StreamDescriptor

Currently, audio doesn't play on Brillo because the policy manager's
default value for all streams is set to 0. In Android, this value is
changed by calls from AudioService.java. If we set the default value to
1 in Brillo, then even if there are no calls, we will have audio.

BUG=none
TEST=manual

Change-Id: I1418c9ecfb4f1c81c9c0946eee11deed3c65b358
anagerdefinitions/src/StreamDescriptor.cpp
60d156247a7189d59af0a3643e2a786dacef734d 29-Oct-2015 Wonsik Kim <wonsik@google.com> APM: Don't copy invalid gain value

Bug: 24775316
Change-Id: I0c439a78909c03ca2b0340c67bfb969de2283166
anagerdefinitions/src/AudioPort.cpp
d60560af7cb559762593161c8202459cc01fb0f5 10-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: add support for external audio sources

Add support for activity on external audio sources.
An external source reflects activity on an input audio device
that must be controlled (both routing and volume) by the
audio policy manager.
First, the input device must be connected with setDeviceConnectionState().
Then, the source activity is indicated with startAudioSource() and
stopAudioSource() APIs.
startAudioSource() indicates the source device with an audio port configuration
and the use case by the audio attributes.

Once a source is active, its routing and volume are controlled by the policy manager
as it would for a software source (AudioTrack).

Change-Id: If5805d58a4356b2f681f1aabf54375f62b55b98a
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioSourceDescriptor.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioSourceDescriptor.cpp
64265b2fb8f5be63b6c2ad4fcbec9acf74705bc4 19-Sep-2015 Eric Laurent <elaurent@google.com> audio policy: fix preemtible capture race

Because a preemtible capture session can preempt another one,
we end up in an endless loop situation were each session is allowed to restart
after being preempted, thus preempting the other one which restarts and so on.

To avoid this situation, we store which audio session was preempted when
a particular input started and prevent preemption of this active input by this session.
We also inherit sessions from the preempted input to avoid a 3 way preemption loop etc...

Bug: 24007220.
Change-Id: I0eab5299440ef3ab9e987635dc9a300cf42f2c79
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/src/AudioInputDescriptor.cpp
7c1ec5f038e63a5eb8b04434577c25bc23f5f410 09-Jul-2015 Eric Laurent <elaurent@google.com> audio: several fixes in audio routing callbacks

- audio policy:
Force device change to ensure new audio patch creation
upon first track activity on a given output.
Fix function device_distinguishes_on_address() which could mistake
some output device with remote submix input device.

- audio flinger:
Reduce number of binder calls upon new client registration by only
sending ioConfigChanged() callbacks to newly registered client.
Fix first patch after output thread creation not triggering an
ioConfigChanged() callback.

-audio system:
Force client registration upon routing callback installation to force
new ioConfigChanged() callback from audio flinger.

Bug: 22381136.

Change-Id: Ieb0d9f92f563a40552eb31bc0499c8ac65f78ce4
nclude/policy.h
54c0659b9efa72d11997c590c4d377c44789c7fd 08-Jul-2015 François Gaffie <francois.gaffie@intel.com> audio policy: session route: move SessionRoute to common

Move the SessionRoute and SessionRouteMap inner class from policy
manager to common policy pillars as initiated by the refactor.

This code was added at teh wrong place by commit aa981194.

Bug: 22376521.

Change-Id: I29aca21614e409c59aae4b7b14163552fb0bffb1
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/Android.mk
anagerdefinitions/include/SessionRoute.h
anagerdefinitions/src/SessionRoute.cpp
9a7d922796c61353e30cea5878f41b921adc79b0 03-Jul-2015 Eric Laurent <elaurent@google.com> audio policy: add support for device combo with speaker safe

combo devices with AUDIO_DEVICE_OUT_SPEAKER_SAFE were not
supported by audio policy manager causing selection
of speaker+headphone when spekaer_safe+headphone would be
the right selection.

Bug: 21537010.
Change-Id: I9865352559c9d32c6754ad3d2b84bddfe2dc8aac
nclude/Volume.h
75bd29fde03953952804215d1f24d8dffaeda763 06-Jul-2015 Eric Laurent <elaurent@google.com> Merge "audio: add definitions for devices connected over IP" into mnc-dev
b9d73333cce3f9da3a7a0b33589f6bbe0f992a92 01-Jul-2015 Eric Laurent <elaurent@google.com> audio: add definitions for devices connected over IP

Bug: 22068684.
Change-Id: Idde0eaf7121d2e43f32eee3e6b10e99d8cff4912
anagerdefinitions/include/ConfigParsingUtils.h
6631424f66253c4bad94618fa078c97715a65fbc 02-Jul-2015 Ravi Kumar Alamanda <ralama@codeaurora.org> audiopolicy: Update flag enum tables for the new flags

Without an entry in sOutputFlagNameToEnumTable or sInputFlagNameToEnumTable,
a profile with specific output/input flag in the audio_policy.conf will
not be detected by AudioPolicyManager.

Bug: 19230391

Change-Id: I94bb3594e2eb8b57747b474a253da3551263c59a
anagerdefinitions/include/ConfigParsingUtils.h
cc750d3604b33a92374253b12dd739dc06440aad 25-Jun-2015 Eric Laurent <elaurent@google.com> audio policy: fix several device descriptor issues.

- checkOutputsForDevice() should only clear device descriptor attributes
if the device is digital.
- checkInputsForDevice() did not clear device descriptor attributes at all.
- AudioPort::clearCapabilities() and importAudioPort() should not
manage gains as these are device specific.
- importAudioPort() should load a default port config.

Bug: 21990937.
Change-Id: Ida762ed8f9baaabae392cb4291eff1a8d3009751
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
e8d55a5d1f6b08cfdabea7628e956063a47fa160 18-Jun-2015 Ravi Kumar Alamanda <ralama@codeaurora.org> audiopolicy: Add AUDIO_OUTPUT_FLAG_TTS to flags enum table

Without an entry in sOutputFlagNameToEnumTable, a profile with
specific output flag in the audio_policy.conf will not be
detected by AudioPolicyManager.

Change-Id: Id242e6819aab1a67d72c564f3cc39af3de8e1ef7
anagerdefinitions/include/ConfigParsingUtils.h
d9f493ebcd1830c76d7b1782e64c7ba9ad8ab4bd 12-May-2015 Andy Hung <hunga@google.com> Merge "Update sampling rate to 192kHz for devices" into mnc-dev
db4c031f518ae5806af73756273ff32cd8d0e4f8 06-May-2015 Andy Hung <hunga@google.com> Update sampling rate to 192kHz for devices

Change-Id: I0a83206be51d7ae18ccf85b94b2127356307be69
nclude/policy.h
anagerdefinitions/src/AudioPort.cpp
fedef1384d5ff758285fb19161a0348e1e32ab3f 12-May-2015 Andy Hung <hunga@google.com> Merge "Support channel index masks for output hal" into mnc-dev
49822fe2aa38cab4a8cdf2221480181ae7a5f9d0 07-May-2015 Eric Laurent <elaurent@google.com> Merge "audio policy: clarify use of mName field for audio devices" into mnc-dev
7288ab87a7aa730ffe97d7dc7e118123107bfcea 07-May-2015 Eric Laurent <elaurent@google.com> audio policy: clarify use of mName field for audio devices

The audio port field mName was used for two different purposes
which caused a problem when exposing this information at the SDK API.

Create a new "mTag" field storing the audio_policy.conf device tag
if needed.
Field "mName" is now used to store any additional name associated to
a given device when available (e.g Manufacturer and model name for a USB device).

Change-Id: I17fa872e4a3a2e1b7cbb807c6f72e095a8a2c9c5
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
5603d28707ef0f19b2b915756809424698e93d9c 05-May-2015 Chih-Hung Hsieh <chh@google.com> Make header functions "inline" to avoid warning when unused.

Change-Id: Iefac44f3c0e1c3fd4b19833d9692744100f92e00
(cherry picked from commit 5e9febef197a9852c833a0aedc6bfee179c4ae9e)
nclude/policy.h
18aa27016a94d0fee243637a80fd0741f89e08f2 06-May-2015 Andy Hung <hunga@google.com> Support channel index masks for output hal

Change-Id: Ib3e61ff6faf91c71b85102b5d77f90f124c08220
anagerdefinitions/src/AudioPort.cpp
5f9bf49397b36ad4ebd838aef66b83e9e9fa42bc 30-Apr-2015 Eric Laurent <elaurent@google.com> Merge "audio policy: session routes continued." into mnc-dev
8c7e6dac6f5eb38cef627dab92eac8b38513450c 22-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: session routes continued.

- Clear session routes when client process dies.
- Enforce the route only when the requesting session is active.
- Fix requested route not working if an output mix change is required
(e.g forcing to SPEAKER when the default route is USB or A2DP).
- Make sure all sessions sharing the strategy with a rerouted session
have the same route (needed for volume control consistency)

Change-Id: I0ab347a8fb97e73e2c5965374544c5f4fe509ef1
anagerdefinitions/src/AudioPolicyMix.cpp
f613d42b12389335b2ecf06df18d0d095d6bfd44 24-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioSystem callback for dynamic policy mix activity

Add method to AudioPolicyServiceClient for dynamic policy mix
activity notification.
Propagate notification to a dedicated callback.

Bug 20226914

Change-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876
anagerdefinitions/src/AudioOutputDescriptor.cpp
138f77425a0956d867f078881f91628518ae8258 22-Apr-2015 Andy Hung <hunga@google.com> Fix format sorting order in AudioPort

Otherwise AUDIO_FORMAT_DEFAULT (used for dynamic formats)
is no longer the first entry.

Change-Id: I23869a9ca2ed138759d722e7c9838497f640921a
anagerdefinitions/include/AudioPort.h
anagerdefinitions/src/AudioPort.cpp
f27e2fbfc3284c00a60fa68edc51d436f75b1e32 20-Apr-2015 Andy Hung <hunga@google.com> Add channel index record to AudioPolicyManager

Change-Id: Ic534bee084108a68c7818600df6e1c9dc9258a0d
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/src/AudioPort.cpp
493404d8c396e15ed73455acd39aa0f1940996e2 22-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: fix AudioTrack output device selection

Have AudioTrack::setOutputDevice() set CBLK_INVALID flag instead
of calling restoreTrack_l(). This allows restoreTrack_l() to be called in
a safe context.

Allow device change while the AudioTrack is active by forcing a new
device selection in startOutput() if the output route for this
session was changed.

Remove some warnings.

Change-Id: I2d921a63c9bfa0e122233645e2d6d39f95f5f17d
anagerdefinitions/src/DeviceDescriptor.cpp
cfdd52423cee9efea73023feeaa74279ebd45b7c 15-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioPolicyManager: notification of dynamic policy mix activity"
de80105c3f2db0eabd47640c49387ea3b44d4782 15-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicyManager: notification of dynamic policy mix activity

Implement non-stream type specific ref counting in output
descriptors to keep track of mix activity.
Notify audio policy client of mix activity changes.

Bug 20226914

Change-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
f129b03fa583d4cc26fd9c9171b8fb3b0ed8d4f4 07-Apr-2015 Andy Hung <hunga@google.com> Enable 8 bit and float pcm record formats for AudioPolicyManager

Add capability for handling different record channel masks.

Change-Id: I63f6b029aca5cefff7adf26198a3b594a7ea2d71
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/IOProfile.cpp
b6347ac62b36b4d9578d181ba83bf8e6446298e8 09-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix AudioPolicyManager dynamic policy initialization"
dacc06f5e8d00ace9d16a149fc41ff65323ffbb3 09-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Fix AudioPolicyManager dynamic policy initialization

AudioPolicyManager::getInputForAttr() is initializing the AudioMix
for the new AudioInputDescriptor.
The audio policy manager refactoring introduced a regression where
the association of an existing AudioMix (registered when the
associated AudioPolicy was registered) with the input descriptor
copied a value of local scope, instead of referencing the
AudioMix in the list of mixes.

Bug 20081375

Change-Id: Iddd57fed8525880afd1d4a5493f97130aabe4816
anagerdefinitions/include/AudioPolicyMix.h
anagerdefinitions/src/AudioPolicyMix.cpp
ffbc80f5908eaf67a033c6e93a343c39dd6894eb 19-Mar-2015 Eric Laurent <elaurent@google.com> audio policy: volume in dBs

Volumes are now stored and exchanged in dBs to be
consistent with the volume tables.

They are converted if needed when applied to the target
gain controller.

Change-Id: I916cbb0bbe65c916444b8c65a2bdca9645c58399
nclude/Volume.h
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
c75307b73d324d590d0dbc05b44bce9aa89b7145 17-Mar-2015 Eric Laurent <elaurent@google.com> audio policy: volume control reorganization

Output volume and routing control by AudioOutputDescriptor
is reorganized to prepare hardware source volume and routing
control.
AudioOutputDescriptor contains all volume, device and activity
state common to software (audio flinger mixers) and
hardware sources (tuners, A2DP, HDMI).
A new class SwAudioOutputDescriptor is derived from
AudioOutputDescriptor and is specific to software sources.

Low level routing and volume control methods receive an
AudioOutputDescriptor parameter instead of an IO handle.

mPrimaryOutput is now an AudioOutputDescriptor.

Change-Id: Ie90943ee3102cdb8adf89fdd2addd2c279b1e5bf
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioPolicyMix.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPolicyMix.cpp
322b4d25387a04c9afebe998326d005bbdf17ede 04-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: fix unique audio port ID.

Remove mId member from AudioPort as it was shadowed
by mId in DeviceDescriptor.

Add getters for Id, and HW module name and version to device,
output and input descriptors.

Fix DeviceDescriptor name initialization.

Change-Id: I4a69f385e40330954d9dad5f2926c521f60b2ec1
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15 08-Apr-2015 Paul McLean <pmclean@google.com> Merge "Adding explicit routing API to AudioTrack"
aa9811945f575614b3482d09e4d969792701cebb 21-Mar-2015 Paul McLean <pmclean@google.com> Adding explicit routing API to AudioTrack

Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
7d669b3551c20109f5544455ca1555499693e1e1 31-Mar-2015 Phil Burk <philburk@google.com> audiopolicy: add support for parsing AUDIO_FORMAT_DTS

Bug: 18292317
Change-Id: Ic9a15fc09ce32021d12072fb71252d207deac30a
Signed-off-by: Phil Burk <philburk@google.com>
anagerdefinitions/include/ConfigParsingUtils.h
887a9ed4446cb451181c392a0e51a69914e58fbf 01-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Updates to AudioPolicyManager refactor

Use protected access in AudioPolicyManager class for
- engine field
- querying phone state
- isStrategyActive

Fix inclusion of AudioPolicyManagerInterface header.

Use "APM_" prefix in audio policy conf parsing code to avoid
naming conflicts with some HALs.

DeviceDescriptor and its collection class are good friends now.

Change-Id: I236d62a2b8a4b6bf68dd515932650b912577c145
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/audio_policy_conf.h
anagerdefinitions/src/HwModule.cpp
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>
nclude/RoutingStrategy.h
anagerdefinitions/include/AudioGain.h
anagerdefinitions/src/AudioGain.cpp
dfd7409c1b708f6c429aa43722ca8493a91d8df0 19-Mar-2015 François Gaffie <francois.gaffie@intel.com> Create StreamDescriptor and associated collection within common

Create StreamDescriptor and associated collection within common
common policy pillar elements.
It moves the code from managerdefault and creates helpers function within
the collection.
It also split the AudioGain in a common volume header and AudioGain class.

Change-Id: I1bb80e4219506f8c9042367085db328d317cb668
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
nclude/Volume.h
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioGain.h
anagerdefinitions/include/StreamDescriptor.h
anagerdefinitions/src/AudioGain.cpp
anagerdefinitions/src/StreamDescriptor.cpp
df37269852ea92bafd939fe793209d0581c4a574 19-Mar-2015 François Gaffie <francois.gaffie@intel.com> Create SoundTriggerSession and associated collection within common

This patch creates a SoundTriggerSession and associated collection within
common policy pillar elements.
It moves the code from managerdefault and creates helpers function within
the collection.

Change-Id: I83ea230573c05e8ab99f4489c20059ed27678221
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/Android.mk
anagerdefinitions/include/SoundTriggerSession.h
anagerdefinitions/src/SoundTriggerSession.cpp
45ed3b053d9af2250f5ece9ee4e826905c3763a7 19-Mar-2015 François Gaffie <francois.gaffie@intel.com> Add EffectDescriptor and associated collection to common elements

This patch adds EffectDescriptor and associated collection to common
policy pillar elements. It moves the code from the policy manager
and creates helpers function in the collection.

It also factorize the RoutingStrategy structure within a separated header
file.

Change-Id: I29964ff77564fadedf3237c8754240b21ae77297
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
nclude/RoutingStrategy.h
anagerdefinitions/Android.mk
anagerdefinitions/include/ApmImplDefinitions.h
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/EffectDescriptor.h
anagerdefinitions/src/EffectDescriptor.cpp
036e1e9126dcd496203434aa69e52115d8e730cc 19-Mar-2015 François Gaffie <francois.gaffie@intel.com> Add AudioMix and AudioMixCollection to common policy element

This patch adds AudioMix and associated collection to the common
policy pillar elements library.
It removes the code from the manager and creates also helpers function
associated to the mix collection.

Change-Id: Ia3536fdef09da13734d2895030d736c701040237
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioPolicyMix.h
anagerdefinitions/src/AudioPolicyMix.cpp
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>
nclude/policy.h
anagerdefinitions/Android.mk
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioPatch.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/HwModule.h
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp
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>
ndroid.mk
anagerdefinitions/Android.mk
anagerdefinitions/include/ApmImplDefinitions.h
anagerdefinitions/include/AudioGain.h
anagerdefinitions/include/AudioInputDescriptor.h
anagerdefinitions/include/AudioOutputDescriptor.h
anagerdefinitions/include/AudioPatch.h
anagerdefinitions/include/AudioPort.h
anagerdefinitions/include/ConfigParsingUtils.h
anagerdefinitions/include/DeviceDescriptor.h
anagerdefinitions/include/HwModule.h
anagerdefinitions/include/IOProfile.h
anagerdefinitions/include/audio_policy_conf.h
anagerdefinitions/src/AudioGain.cpp
anagerdefinitions/src/AudioInputDescriptor.cpp
anagerdefinitions/src/AudioOutputDescriptor.cpp
anagerdefinitions/src/AudioPatch.cpp
anagerdefinitions/src/AudioPort.cpp
anagerdefinitions/src/ConfigParsingUtils.cpp
anagerdefinitions/src/DeviceDescriptor.cpp
anagerdefinitions/src/HwModule.cpp
anagerdefinitions/src/IOProfile.cpp