History log of /hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
18fc094c0ed41851be3d746423c6695dd28d48e1 15-Nov-2013 Jean-Michel Trivi <jmtrivi@google.com> Define and use DRC-specific volume curves when applicable

Add support for property defining whether a DRC on the speaker path
is enabled and will boost soft sounds.
Define new volume curves with more attenuations than existing ones
to compensate for DRC-induced boost on sonification sounds to
provide a more "linear" control to the user over the applied volume.

Bug 11600699

Change-Id: If23dd097a8b9b5ebb61e75dd8512ff75e63ba899
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
000bb51ca507645f3aa4ccfcbbb8859e8d539629 13-Oct-2013 Eric Laurent <elaurent@google.com> audio policy: fix gapless playback when effects enabled

Do not allow offloading if one non offloadable effect is enabled. This prevents from
creating an offloaded track and tearing it down immediately after start when audioflinger
detects there is an active non offloadable effect.
Not doing so breaks gapless playback because AwesomePlayer will always be able to open
an offloaded track which will not be compatible with the previous PCM track and
Audiosink::open() will not recycle it.

Bug: 11181933.
Change-Id: I6d163806849d9093b9ec701ba8e8c1ccb658e3c8
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
45c763947b657b347211dc9388754e05d30d0467 13-Sep-2013 Eric Laurent <elaurent@google.com> audio policy: add support for audio effect offload

Add rules to select the appropriate output for global
effects.
Move global effects if needed when an offloaded output is
created or released.

Bug: 8174034.

Change-Id: I0bbd8e9f8aa717f672462dd74ba0d01eaef1fda7
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
8c3b7b67ac1d2df57fd0cdd03ff935d178d7fff3 09-Sep-2013 Eric Laurent <elaurent@google.com> audio policy: extend min duration for offload

Extend minimun duration of offloaded audio content
to 1 minute to avoid offloading short clips like
TTS generated files.

Bug: 8174034.
Change-Id: Ied21557c300af4b27d99388e069576e36804087f
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
a527ffd3c2ce72048a8fae51cd399024af4439b9 13-May-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Code changes for audio offload support

- Share existing offload output if compatible instead of
creating a new one. Hardware has limited number of
offload channels (possible only 1) so we must use as
few as possible

- Changes to routing handling for offloaded outputs

Change-Id: I11111d8f504828595bd8dbf66444cbd1202e7192
Signed-off-by: Eric Laurent <elaurent@google.com>
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
b4d07b97d23cfaffe22c7859ad7c45e168a7df0e 25-Mar-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Add audio policy API changes for audio offload

Changes to the API of audio policy for audio offload support:
- Add isOffloadSupported() function
- Add OUTPUT_FLAG_OFFLOAD
- Extend AudioOutputDescriptor to include a sharing count for direct outputs
- Pass audio_offload_info_t when opening output streams

Change-Id: I5ad26418fdb286eb7ae299d586dd1fd525d48ab9
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
5a950c960cd40648cc3ab8defe817f88e0a7ecf4 04-Apr-2013 Eric Laurent <elaurent@google.com> audio policy: reuse direct output when possible

Modified getOutput() logic to not systematically
open a new direct output when a profile matches a request.
This causes a problem when transitioning between two
multichannel tracks as the audio HAL will most of the times
only support one direct output stream open at a time.

Instead, reuse an open output if all the parameters match
or force close the output before reopening it.

Also modify releaseOuput():
- close a direct output only if no client is using it anymore
- call closeOutput() instead of removing the output from
the open output list: this factors in code executed when closing an
output stream.

Bug 8388941

Change-Id: Ic3d3beb21063622ddf57a5b932f93d56f2986f54
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
80f5b0400f86d49e70aa1a793b34f34492f005bc 25-Mar-2013 Eric Laurent <elaurent@google.com> audio policy: fix music glitch when starting call

When answering a call in silent mode, music playing over A2DP
was not immediately muted by current audio policy manager logic.

The fix consists in muting media strategy on all output streams
immediately when entering in call.

Also add methods to AudioOutputDescriptor to report
recent global, per strategy and per stream activity.

Bug 8315512

Change-Id: I4a90eb05db50e4f22374d02b1e647e8662f6bec6
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
dc3bf1a37425697277f6ed04fc8cfe4a52fd678a 05-Feb-2013 Jean-Michel Trivi <jmtrivi@google.com> Identify remote stream activity, used for notification routing

Add support for checking remote stream activity.

Don't route notifications like media when media active remotely.

Add remote stream activity query in audio policy HAL.

Bug 7485803

Change-Id: Ifb722c7f9ffbfbdc877fec5156bcfc09bec40651
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
42fa8215a763822c0d03fc936e4cac1eb864c9cc 07-Nov-2012 Eric Laurent <elaurent@google.com> audio policy: fix notification start delay

The mechanism delaying notifications in case of
muliple active outputs with long latencies must
take into account recently paused audio tracks.

Bug 7400428.

Change-Id: I4ac9dfac81336e33f475b4f28df82713707d0c46
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
0d6490a58bf607f1efc00638709f9c4c8f7dd270 17-Oct-2012 Eric Laurent <elaurent@google.com> audio policy: tune voice/video chat volumes

Add new volume curves for VOICE_CALL stream type
to improve voice/video chat volume on speakers.

Bug 7346643.

Change-Id: Ib282a97570d2234deec6b58391bdfc45846d9cc0
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
abc55c698301e05a80d7f9394c75abca0b307602 10-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicyManager supports querying active record sources

Add support for querying whether there is currently a recording
underway from the specified audio source.

Bug 7314859

Change-Id: I8894845b176241134870af5df2bebc5ef27e4de4
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
6d3a115c091adc1618b3d1e50a86951c3b35fa30 17-Sep-2012 Jean-Michel Trivi <jmtrivi@google.com> Support audio recording while remote submix is active

When evaluating if an audio record is active, do not count inputs
opened on "virtual" devices, such as remote submix, as active.

Change-Id: If19c321cf673e3bdf4c3f81e73c163190df7c21e
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
ed8f62d4faa53bbd53a358c5f494b653a09285e4 28-Aug-2012 Eric Laurent <elaurent@google.com> audio: new audio devices enums

Changes for new audio devices enums:
- legacy audio HAL wrapper provides conversion between new and
old device enums. It exposes a rev 2.0 audio device API to the
audio framework and allow legacy implementation to use old device enums.
- AudioPolicyManager: use standard enum value for no device (0).

Change-Id: I855d72291d672cdd8a6641bedb228634a54b7d9d
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
48387b28c87327c6c4d512eabe091c29236d2e70 20-Aug-2012 Jean-Michel Trivi <jmtrivi@google.com> Update Audio Policy Manager for remote submix

Define a new forced mode to route media to remote submix.
Update media routing rules according to mode.
Modify device connection management for remote submix.

Note that this CL doesn't implement changes to not prevent audio
recording when WFD is on, as audio recording is currently limited
to one input.

Change-Id: I458fe1802705da2d091ff82e536dc3e7f092f291
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
c8101f5b14e745b348592c5609e55f121a11a6bf 24-Aug-2012 Jean-Michel Trivi <jmtrivi@google.com> Update AudioPolicyManagerBase to only use audio_devices_t

The AudioPolicyManagerBase implementation was using some device
enum values from AudioSystemLegacy.h, of type audio_devices,
and some from /system/audio.h, of type audio_devices_t.
Now only uses audio_devices_t, and associated functions to
inspect what audio device type they correspond to.
Added #define to represent "no audio device" to clarify code.
Removed unused variable in AudioPolicyManagerBase::startOutput()

Change-Id: Ibec311dac550d6a806397377206a43bc708914c0
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
00d1d688bd1a21aa46de00830f62b0e3ae23ec4d 21-Aug-2012 Jean-Michel Trivi <jmtrivi@google.com> Remove unused member variables in AudioPolicyManagerBase

The fields for the lists of input and output IOProfile are
not used in the AudioPolicyManagerBase class. Those are
actually stored inside each HwModule instance.

Change-Id: Iebb9fa5b7599a74013fd785a87de692890a89758
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
c94dccc97cc3ed5171b45f46a0f7f8762d37156f 24-Jul-2012 Glenn Kasten <gkasten@google.com> effect_descriptor_t const correctness

Change-Id: I734155d4cebb22b180f25290332c7c48be1e2b36
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
c952527e6f89d5427881462823514be9d79f13e6 21-Jun-2012 Eric Laurent <elaurent@google.com> audio policy: fix HDMI hot plug

When an HDMI sink is connected it is possible that
a direct output is made available for multichannel audio.
In this case, the list of outputs available to reach the HDMI device
after the connection is different from before. checkOutputForStrategy()
must take this into account in order to invalidate tracks so that
they can be re connected to the multi channel output if necessary.

Change-Id: Id0baeb51688eba8017fe96bf92aaac52eb8e0f59
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
3cdfddf1b27bcb5408ca3a04fcdf206447ba07ba 01-May-2012 Eric Laurent <elaurent@google.com> audio policy: improve support for direct outputs

Add the capability to query supported parameters for
direct outputs after a device is connected. This allows
to dynamically update the output profile for devices like
HDMI where the capabilities depend on the connected sink.

Also added very verbose log mode for volume and mute.

Change-Id: I1d4ba8e7dbc3e1af883582857ce93240441e551c
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
01e6272f0a3a7d1d53e826012377ff9269b03b06 16-May-2012 Eric Laurent <elaurent@google.com> audio policy: fix in call volume problem.

When switching audio path, it is sometimes required
to temporarily mute certain streams to avoid glitches.
The unmute command is sent with a delay but the volume applied
when unmuting is computed according to the state at the time of mute.
If the device selection changes after the delayed unmute is programmed
the new volume will not correspond to the new device.

setStreamMute() now accepts a device selection as input parameter which is
used instead of current device for volume computation.

Bug 6497819.

Change-Id: I355ebf9e1afe814fa5c2723bda9c40e58f921b46
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
ddfe26905ea3210c86a88eeb331eef4c9f99b931 26-Apr-2012 Eric Laurent <elaurent@google.com> system and UI sounds volume policy

Added specific volume curves for AUDIO_STREAM_SYSTEM,
AUDIO_STREAM_ENFORCED_AUDIBLE and AUDIO_STREAM_DTMF.
Volume for these streams tracks AUDIO_STREAM_RING on phones
and AUDIO_STREAM_MUSIC on tablets but is contrained in the range
-24dB to -6dB on speaker and -24dB to -12dB on headset.

STRATEGY_ENFORCED_AUDIBLE routing policy is now the same as
STRATEGY_MEDIA in countries where not enforced.

Change-Id: If58d96559bfe2bbff4cd94c631d5933bd940778e
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
739022f26a7127ba76a98dda65411496086114a7 24-Apr-2012 Dima Zavin <dima@android.com> audio_policy: set some reasonable defaults if audio_policy.conf is not found

Change-Id: I25f7407c34b3032d4e77a27a4ac47b648098d9b0
Signed-off-by: Dima Zavin <dima@android.com>
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
9029a4fe8abafd383e6fbb1409d1e2f749b51391 22-Apr-2012 Eric Laurent <elaurent@google.com> audio policy: volume burst when switching device

The addition of the per device volume feature has introduced
a problem where a volume burst can be heard in the headphones
just after insertion if the speaker volume is much higher than the
headphones volume.

Added a temporary mute of the output when switching device to force
volume ramp to 0 and back up to new volume.

Issue 5984108.

Change-Id: I5c9ffbbcadd12d25c78cc2614d351346b8186c55
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
b2971bf2ae4e9da3155559aa134e3aa6c2b216a4 14-Apr-2012 Eric Laurent <elaurent@google.com> audio policy: add support for deep audio buffers

Added definitions for parsing deep buffer flags in output profiles.

Make sure that sound start is delayed enough to allow
duck/mute effect to apply before starting a notification on an output
with lower latency.

Change-Id: I1578e245da19d1a0f9ec62a2ea6dddaf82ea282b
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
0977cf534ffb71c2abac622716510ae8ea25f3e9 18-Apr-2012 Eric Laurent <elaurent@google.com> rename audio policy flags

Change-Id: Ic42eba3432671f651c9703a07fe7b429a8ec0dff
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
599a1fc11596ac669499c1caf87c6ceddd0bfee4 06-Apr-2012 Eric Laurent <elaurent@google.com> audio policy: added rules for USB audio devices

Change-Id: If712b0c7fcf281d66d34614529f3433e56e058fb
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
70c236c9290732782d5267935af1475b8d5ae602 28-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: load audio hw modules

Audio hw modules are now loaded according to configuration
data read from audio_policy.conf. They are not loaded anymore
from a hardcoded list in AudiFlinger.

Output and input streams are opened on the hw module by which
they are exposed.

Also removed obsolete "acoustics" flags for input streams.

Change-Id: I8dc658cc83890d3ac7d5e36c372a03732aa5b0c4
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
5ccdf14a85ed66ac54036fb393acc06ea7acfed6 20-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: use configuration file

The audio policy manager implementation now reads a configuration file at
boot time that contains descriptors for available audio hardware
modules and for each module the profiles of available inputs and outputs streams.

The configuration file path on the target is: /system/etc/audio_policy.conf.
A default configuration file is given that defines a basic configuration
with one primary audio hw module capable of playback and capture.
Each platform or device should have its own audio_policy.conf file.

Also removed default value of fromCache argument of getDeviceForStrategy()
and getNewDevice() methods.

Change-Id: I0c773d2331508bbc787f89b123dd6a7b8c10d459
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
12bd6e4a5c26bd8035bf804d0cc821bd9b8cce9b 15-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Only duplicate notifications when no media is playing

Map the NOTIFICATION stream type to a new strategy,
named STRATEGY_NOTIFICATION_RESPECTFUL, which differs
from STRATEGY_NOTIFICATION in that, when media is
playing, the notifications will use the same output
as the MEDIA strategy. This will results in the
notifications not being duplicated on the speaker
when a headset is in use for media playback.

Change-Id: I032be0e2d383c69b5b6c912d7174753f5572c4b4
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
f9a4e2eccfbbe451512337af0806cfc54be0eaf9 08-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: use audio_devices_t when appropriate

Change-Id: I0b4e2ff705fce96b40fdda28b1bc4b514438bec6
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
f7db03562644b03447eb6351156e53188ea0c616 08-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: spaced comments in header file

Change-Id: Ie72dcb9e33afb217bb7e37081500a7fc53d7a047
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
b4696fc22ba822ed37bd2e3a19bc17514ccc79c8 17-Feb-2012 Eric Laurent <elaurent@google.com> audio policy manager: more generic A2DP impl.

This change makes support for A2DP related audio policy more generic:
-removed WITH_A2DP compilation switch
-use output profile descriptors listing the parameters
(sampling rate, format...) devices and attributes (low power, tunneling...)
for each available output.
All the behavior specific to A2DP is derived from the A2DP output profile
descriptor.
- removed obsolete a2dpUsedForSonification() method.

This is a first step towards a more generic support for different audio
hardware modules (USB, HDMI) and output streams supporting different
combinations of parameters (sampling rate, format...) and attributes
(low power, tunneling...).
Ultimately, the hw modules and output descriptors will loaded from a
configuration file.

Change-Id: Ife3e49e1afbcb72613bfc8ce38919bb087ca85ea
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
ca0657a1ca087a6d474a75fcfedd6aac3901d587 19-Jan-2012 Glenn Kasten <gkasten@google.com> Audio policy HAL set_ringer_mode is deprecated

Change-Id: I66ef40ed381151ba61debe20edaa53bece0cc139
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
c6f331b3f48455c9a9cdf00fc82894badd0a7da6 15-Dec-2011 Eric Laurent <elaurent@google.com> audio policy manager: stream volume per device

Improve volume management by keeping track of volume for each type
of device independently.

AudioPolicyManagerBase now keeps track of stream volumes for each device
and apply volume according to current device selection.
Methods to set and get stream volume now specify the device class.
A value for "default" device is always present for each stream and is used
if a device is selected and no specific volume was ever set for this device.

Change-Id: I06d8f43aa151a09014f7e47e81304c73ff82e9f8
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
c16ac09f510437e8340be691720177a490ae78f0 01-Nov-2011 Eric Laurent <elaurent@google.com> Force camera shutter sound to speaker in Japan.

Make sure that camera shutter sound is output to device speaker also while
in call.
Added a new strategy for enforced audible stream to address this case as
the routing policy is now different from sonification strategy.

Issue 5548406.

Change-Id: I2de39dfaef7d90e3804b238b1379f0f59b75e985
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
e43c5c4ca4477a6b384711552c3e990609039d93 18-Oct-2011 Eric Laurent <elaurent@google.com> Fix issue 5440852: Youtube volume is too small ...

When no DRC is applied by the platform when playing
over the device speaker, faint audio signals are not boosted and
barely audible until the media volume is raised to about one fourth
of the range.

Compensate this by applying a different volume curve for music stream
when the speaker is selected.

Change-Id: I03f316fb28150eda50b05dfa12310701e2674648
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
cd057ad2774903c62f5c11bc71c4e7357aee71b8 12-Sep-2011 Eric Laurent <elaurent@google.com> Issue 5256795: Phone ringtone volume is too low

Modified the volume curve for ringtones and notifications
in audio policy manager. The first volume step now corresponds to
-30dB instead of -50dB thus making ringtone much more
audible for low volume settings.

Also made a generic implementation of volume curves according to
audio policy strategies.

Change-Id: Ieb7916ba2e53c2a10a47efec82814cabed21c48b
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
582a15744be109fb630db7dbd1d1bdf22ff44f12 11-Aug-2011 Eric Laurent <elaurent@google.com> AudioPolicyManager: register effect CPU on enable

Audio effect CPU usage is now registered on enable and
unregistered on disable instead of when the effect is
created or destroyed.

Change-Id: Icffcede9558d8d41887278f0efef2df430927381
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
1c65a49da0c89f75e528354ef02de5dc93a28232 18-Jun-2011 Eric Laurent <elaurent@google.com> Audio effects: support for audio pre processing

Audio policy manager: allow registration of audio effects on
inputs too.

Change-Id: I92efa5b51cfde591052a5c56ba2b0b84de80df0f
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
e81531e91ecae92aff471dbff9cbeb0f95ff4a80 20-Apr-2011 Dima Zavin <dima@android.com> hardware_legacy: provide HAL helpers for legacy audio users

This doesn't actually create a HAL, but rather a set of helper static
libraries that device specific libraries (i.e. the old libaudio pieces)
can link against to create a proper audio HAL module.

We provide an audio_policy static wrapper and audio hardware interface
static wrapper.

Change-Id: Ie56195447ad24b83888f752dca24674b0afd8a76
Signed-off-by: Dima Zavin <dima@android.com>
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
3775706211178bf0d252fd30b9ff1c00926c8535 15-Mar-2011 Eric Laurent <elaurent@google.com> Improvement for issue 3489986: BT SCO volume

Add a parameter to applyStreamVolumes() to force stream volume update.

Change-Id: I3cc82e516bb7c76c28c2470b06711c44f4789ce5
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
fafb18fb31cc4ab3c73585ba508f7643c9a9e3ad 10-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I45be59a2774196a135d013e45f38033036f74257
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
793dd9f2be9c802c5e78831fe6765d697466eaf4 04-Feb-2011 Eric Laurent <elaurent@google.com> am 01056fcf: am 36291a74: Fix issue 3371080.

* commit '01056fcfbbbb577f7d70324a4d6a3a211a519951':
Fix issue 3371080.
36291a74cd212c4172ac054ad0eec686b7e15c96 02-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3371080.

Move isStreamActive() method from AudioFlinger to AudioPolicyManager.
iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.

Change-Id: Ib0d7d8f061b9f809d307ecfac40960ef582e5f0f
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
f2faac71fd54ef16807b94d19e46d7ad99b001a7 25-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3376700 Update APM header for volume initialization and computation

Change-Id: I7cb31c9ecd3c347bfa72cad5a331500a20fdcfbe
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
61f357948648ff45d35ec79725db4e1b12c268dc 19-Jan-2011 Eric Laurent <elaurent@google.com> Tentative fix for issue 3362362.

Added an initCheck() method to AudioPolicyInterface to verify
successful initialization of AudioPolicyManager.

Change-Id: I4c892282dbeb3246ee6c006bd206a3e723bcb71f
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
f9e188482f164ea7602ecdea4b796fa50542e597 01-Dec-2010 Eric Laurent <elaurent@google.com> am 3cb64cb8: am 2f2db765: Fix issue 3142808.

* commit '3cb64cb8bbda335affcb3c71fce3c4f908a97111':
Fix issue 3142808.
3e480fa067136253ae05faaba77f814f42cd56f0 16-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Support new audio mode for audio communication other than telephony.

Change-Id: I965cbeee67f72e31240e3e8cd2630bf22a03b9ea
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
2f2db765228f110b37a2851d1199d3c72d313c6d 02-Nov-2010 Eric Laurent <elaurent@google.com> Fix issue 3142808.

There is a bug in the way audio policy manager handles A2DP interface suspend/restore
when SCO is used. This bug is not new but has been triggered by a change in the timing
of the events received by audio policy manager when a call is setup and torn down
introduced by commit 164a8f86c7e48992691368c4895709c3bdb835a4.

The fix consists in grouping the control of A2DP suspended state in a single function
that is called systematically when conditions affecting this state are changed:
- call state change
- device connection/disconnection
- change in forced usage.

Change-Id: Ib76a999513b5afbfd59ba945f8650d2a48d6f480
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
7a25fd7138dd87e1d697e12ea9a69aee7c3ae814 31-Aug-2010 Eric Laurent <elaurent@google.com> am bab20b67: am d6e68c3a: Fix issue 2952766.

Merge commit 'bab20b6759d9f0445e4ff5f27f0a3666f0efafa5'

* commit 'bab20b6759d9f0445e4ff5f27f0a3666f0efafa5':
Fix issue 2952766.
d6e68c3ae5677bc6127628d1c700b11c8f0fcdaf 28-Aug-2010 Eric Laurent <elaurent@google.com> Fix issue 2952766.

The fix for issue 2952766 showed some unused code in
AudioPolicyManagerBase::checkOutputForStrategy(): since commit
eb8f850d0b7e53956e917fd9645f808c1a09bc88: there is no need
to update the hardware output device as it will be updated when the
new tracks are created by audioflinger.

Change-Id: I2f46fab58a5db3b4cd03fdaeebd7d6603c8dbbdd
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
3be78bce2b78d059cb1325367f43873fb3be775a 20-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of 930fe98b to master

Change-Id: Ib6ab3b02aede7e07b71e19b16d305919be849bdd
d2b227e76033d8c44b71d2982028a63436d3fe84 13-Jul-2010 Eric Laurent <elaurent@google.com> Audio policy manager changes for audio effects

Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Change-Id: I3467e64035387cc5272266b1318a5ed788958374
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
564c30323762685cdb811e2a985ad374a691745e 25-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2641884: Bluetooth volume is dependent on in call volume.

The problem is that the code in AudioPolicyManagerBase::checkAndSetVolume() that forces
voice volume to max when setting bluetooth SCO volume is not called if the bluetooth stream
volume did not actually change. So even if we re apply volumes when switching to bluetooth
device, the voice volume is not changed in audio HAL and remains what it was when routed to earpiece.
What makes things worse on Passion is that stream volumes are limited when connected to bluetooth
and their actual value does not change as soon as they exceed the limit threshold.

Change-Id: Ic6c54b4a7fd54983f445de9a9b5cd2ea0025155c
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
68f279fa86145752e424a9cbed1a2e2ee21e10b1 04-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2416481: Support Voice Dialer over BT SCO.

Make the choice of opening a direct output stream platform specific.

Change-Id: I63e5464a18aaa3600e9fed6cec0518ff1fad4dbd
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
195368626339aefc4732661d009e8de1aacc24d1 23-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2305382: Pick up original call makes a noisy beep when wired headset connected.

The noise is the residual ring tone that is still playing while the call is answered and the
audio route changed to headset or earpiece.

The fix consists in muting the ringing tone when changing mode from ringtone to in call
and delaying the route change until the audio buffers are emptied.
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
e6c221466fe4ec2940c672126999d28ce01a49f1 16-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2440226: Car dock volume synchronization.

Make computeVolume() method virtual so that its implementation can be platform specific.
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h
de55cfb02db874136caf9c05927cee4028296147 14-Dec-2009 Eric Laurent <elaurent@google.com> Create base class for audio policy manager.

First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.
/hardware/libhardware_legacy/include/hardware_legacy/AudioPolicyManagerBase.h