History log of /frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
904d632a24db8f94de83e44f7179d1c0af022b03 18-Mar-2017 Eric Laurent <elaurent@google.com> Add support for USB headset device

Add missing rules for USB headset devices in routing, volume and effects
management.

Test: playback and catpure regression tests.
Change-Id: I42cd157f483deba2371a05d332cd11dceb2b2fa3
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
f3df83d5957fd717c1663d97cd96eb5b733902c6 16-Mar-2017 Eric Laurent <elaurent@google.com> Merge "audio policy: add rule for ringtone duplication over speaker + SCO" am: dc671c4e33 am: 42d5e65d2b
am: 6e51336da3

Change-Id: I67dd17852ae81df011eeb232daab5c1f290ab18a
a8e0f02dee635b88ea21c20f26356354e83ec83a 28-Jan-2017 Eric Laurent <elaurent@google.com> audio policy: add rule for ringtone duplication over speaker + SCO

Bug: 19171297
Test: make, testplans/79248

Change-Id: Ic539256e53782806d5dbbca5fb6ebe9f2ca5ec76
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
36867767ba86244b0d942255b9d241b092151309 29-Dec-2016 Jean-Michel Trivi <jmtrivi@google.com> USAGE_ASSISTANT/ACCESSIBILITY in audio policy manager

Add support for USAGE_ASSISTANT.
Fix stream type for USAGE_ACCESSIBILITY.

Test: enable Talkback, check volume; make
Bug: 30947943

Change-Id: Ie35adf0115dce1fac6d3deddc1e57e36b36913f6
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
9ee0540d3a61bff03d561ca431a371c3d9335d2b 14-Oct-2016 Mikhail Naganov <mnaganov@google.com> Remove last references to hardware/audio.h

DeviceHalInterface transitioned to "capabilities" model
(similar to the one already used by streams, e.g. 'supportsDrain').
No direct checking of the HAL version is needed.

AudioPolicy uses its own version read from the configuration,
and these values never checked against the actual HAL version,
thus it does not need versions and macroses from hardware/*.

Test: make & run on N6P
Change-Id: Ic4a56bfa19a9a61edac2b9f9a163fd8f63a0ff87
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
e7557336920ca7e7d53e8ccc03d23359b41957af 18-Oct-2016 Glenn Kasten <gkasten@google.com> Remove executable bit from ordinary files

Test: builds OK
Change-Id: I7912c9c9c85dc500d33698fc174ba2a0db387407
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
0f928fab9963f15c524f4416b3d52d2df4a93eec 21-Mar-2016 Eric Laurent <elaurent@google.com> audio policy: fix getDeviceForStrategy()

Modification of getDEviceForStrategy by commit 28d09f064 made
wrong use of available output devices vector passed by reference
and caused an update of the actual list of connected devices instead
of the local list.

Bug: 27586202

Change-Id: I805b9cf27e1fb28494e6e23b2b874e0e5c3487e6
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
a8b282504d103f1156e7d4e14104e5e91317e374 08-Mar-2016 Eric Laurent <elaurent@google.com> Merge "audio policy: improve accessibility volume" into nyc-dev
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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
a0b18ce8f737c0d6ccd728e17c3f355a250ae1dc 08-Mar-2016 Eric Laurent <elaurent@google.com> audio policy: change default in call routing for line out device

Current strategy is to use LINE OUT for calls only when speaker phone mode
is enabled.
This creates confusion because most users don't understand why the behavior
differs between a headset and a line out.
Also the main use of a line out device for calls is when connected to a car kit
via an aux cable. In this case, you want to use the car kit by default without
having to touch your phone and select speaker phone.

Bug: 27548502

Change-Id: I3e8a540b91dc80516439a97dabc9641b95ce23a7
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
09bc4612bdd5874d744c5da1183d96fbd2ad0235 25-Feb-2016 Phil Burk <philburk@google.com> AudioPolicyManager: force encoded surround setting

Bug: 26373761
Change-Id: I0f7a486bf1aa7a27f15cf220e2c75ef23f8f8536
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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>
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
8a397d583a4f4cf24ad88facaf2fd33990cfb811 02-Dec-2015 rago <rago@google.com> Adding UNPROCESSED to the available audio_sources

bug: 25564291
Change-Id: I86d8feda4d687352f98b640819211207a06d6b50
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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>
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
a20d4fa431d1091abf66f9d426ef0cf441db6623 05-Jun-2015 Eric Laurent <elaurent@google.com> audio policy: route media to BT SCO in call

Allow media (and Navigation instructions) to be routed
to BT SCO in call.

Bug: 18986190.

Change-Id: I1fa4decfbf035623fdcc8681b53cbd61e1d5f933
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
5c233f8b772719371475624edf1002ed80e1d0e8 03-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: remove extraneous parentheses

Change-Id: Ibcea37b90cc0aaacb3b6194745bf569edad8992a
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.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>
/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp