Change to new properties + swap audio XML files, and supports following
scenarios:
1) (default) audio_policy_configuration.xml
Using BluetoothAudio HAL (+ A2DP offload if supported)
2) audio_policy_configuration_a2dp_offload_disabled.xml
Using BluetoothAudio HAL only when A2DP offload is supported but
disabled.
3) audio_policy_configuration_bluetooth_legacy_hal.xml
No BluetoothAudio HAL nor A2DP offload
Bug: 126304229
Test: Switch BluetoothAudio HAL and A2DP offload manully
Change-Id: I6d996d616c6c0b998699f90dbaebb7d70ef3237c
am: f270b178e4 -s ours
am skip reason: change_id I81eb6ceda4527d9362e270fedbbb117d0d5b57e3 with SHA1 c76077c11f is in history
Change-Id: I7fdfa6495f289f56a65c17692d9bbeaaeb34db4d
am: 6dd6a45ee1 -s ours
am skip reason: change_id Ie15e3012a4068824f72371a66e9fca2ee27180f8 with SHA1 ad02cc6c40 is in history
Change-Id: Ie260a474ab5e13b1269c2567ecf5cd09524c71e6
This CL adds the concept of Volume Group to the engine.
It generalizes the volume management today controled by stream types
and hard coded into AOSP.
The goal is to control the volume per attributes, being able to define
a group of attributes that follow the same volume curves.
It intends to replace the concept of aliases in AudioService.
Bug: 124767636
Test: build
Change-Id: Icd079374cc1680d074b01836eca0bceb0b0c5247
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Implemented for threads that read/write PCM.
Test: audioflinger dumpsys Play Music, Movies, Video Recording
Bug: 114112762
Change-Id: I866a8b639d18426633088d6a03d9135f4ee09fd3
am: 172d4c505a -s ours
am skip reason: change_id I8d936f0f79540345d3e3675f6129bb942a08e423 with SHA1 704c577cce is in history
Change-Id: I5d57864d4a9401dcb6f8ec6ec110f253e37543e7
For privacy, require the app wanting to capture other app audio to have
a valid MediaProjection.
Test: adb shell audiorecorder --target /data/file.raw
Bug: 111453086
Change-Id: Ia9343b2125aea2d9c0fc5a37b6ded9237d1d0f28
Signed-off-by: Kevin Rocard <krocard@google.com>
am: bd6dc46458 -s ours
am skip reason: change_id I8d936f0f79540345d3e3675f6129bb942a08e423 with SHA1 704c577cce is in history
Change-Id: I3c43fd09a0687b35dcd519dbbd822c4479d4ba66
When the Visualizer effect is released, synchronous wait for the CaptureThread can
cause ANR in an app. This is why an asynchronous 'release' method is introduced which
is used by Visualizer.release() method on the Java side. Since CaptureThread may still
be running while the the last reference to the Visualizer instance is released,
CaptureThread now holds a strong reference to the Visualizer, which it releases
upon exit from the thread loop.
The 'release' method does not check for 'enabled' status because setEnabled(false)
may fail due to audioserver calling AudioFlinger::EffectHandle::setControl to
hold control.
Bug: 124833084
Test: CTS VisualizerTest
Change-Id: I8d936f0f79540345d3e3675f6129bb942a08e423
Merged-In: I8d936f0f79540345d3e3675f6129bb942a08e423
Signed-off-by: zengjing <zengjing@xiaomi.com>
This is a part of job to cut dependency from libmediandk
to libandroid_runtime. As a LL-NDK, libmediandk desn't have
to depend on libandroid_runtime.
depependcy:
* libmediandk -> libmedia_jni -> libandroid_runtime.
Libmediandk calls three functions defined in libmedia_jni.
However those three functions are independent from libandroid_runtime.
After extracting those utility functions into a new library
(libmedia_jni_utils), libmediandk now depends on it instead of
libmedia_jni.
Bug: 124268753
Test: m -j
Change-Id: If283fefca5cf4e282d1c29876b78037bc9df7625
This is a part of job to cut dependency from libmediandk
to libandroid_runtime. As a LL-NDK, libmediandk desn't have
to depend on libandroid_runtime.
depependcy:
* libmediandk -> libandroid -> libandroid_runtime.
Libmediandk uses only one symbol(ANativeWindow_aquire) from
libandroid and it is re-exported from libnativewindow.
So by switching from libandroid to libnativewindow, the dependency
from libmediandk to libandroid is cut easily.
Bug: 124268753
Test: m -j
Change-Id: I5da320780dba7c63ce39679dbf5d40fe9202eb00
This is a part of cutting dependency from libmediandk to
libandroid_runtime.
The following function is exported from libandroid_runtime.
* android_hardware_HardwareBuffer_convertToGrallocUsageBits
This function just delegates to libnativewindow's
AHardwareBuffer_convertToGrallocUsageBits function.
This commit is for libmediandk to call libnativewindow's
function directly in order to cut the dependency to libandroid_runtime.
Bug: 124268753
Test: m -j
Change-Id: I5f927fc26829031a8c91a7ba51178a34d737a953
This CL removes the hard coded volume table in the engine and
use as a fallback for compatibility reason the apm config file
to load the volume tables.
Bug: 124767636
Test: dumpsys media.audio_policy & diff with previous version
Change-Id: I0392aad730c67ee79f898093fd1b4f64e26ab3fd
Signed-off-by: Francois Gaffie <francois.gaffie@renault.com>
This CL moves the volume curves to the engine.
The configuration files of volume are now owned by the engine,
that is intended to become vendor specific.
Test: build, dumpsys media.audio_policy and checks the volume curves.
Bug: 124767636
Change-Id: I9e3b256d2eb89c8eac6b282db0e59ec3af47d76d
Signed-off-by: François Gaffie <francois.gaffie@renault.com>