Camera service listeners must be able to receive
information about camera access permission changes.
Bug: 121379978
Test: Camera CTS
Change-Id: I2e13fdd35a267901a3caa0e0ce78ab1cea83e7ab
Return buffers managed by HAL buffer manager in disconnect.
Test: kill HAL process and check for buffer leak in cameraserver
Bug: 126889012
Change-Id: I83173c5eaae13ee11eb3f185e7204a2dd8855b4e
Capture from REMOTE_SUBMIX audio source should always be
allowed in concurrency situation.
Also include FM_TUNER as virtual source that should never be
silenced.
Also remove voice call capture sources from privacy senitive sources
as capturing a voice call does not constitute in itself a situation
that should prevent other apps from accessing the mic.
Bug: 121200677
Test: verify music playback in auto projected mode.
Change-Id: Idbd9e9f55f29fb8a8e2b76cea5b85f0d9a555788
When selecting device on a given output stream, check if
an enforced audible sound is active on any other output stream and
not just on this stream.
Bug: 124063442
Test: set property audio.camerasound.force=true and test music + shutter
sound concurrency.
Change-Id: Ic7f548df2b67041d532afc68685cdbeb3cb3f125
This was not efficient and leaded to an assert in obtainBuffer.
I'm not sure which condition can lead to a getNextBuffer of size 0,
but it has been observed and is not forbidden by getNextBuffer
documentation.
Test: atest android.media.cts.AudioPlaybackCaptureTest#testCaptureMediaUsage
Bug: 111453086
Change-Id: I5accf7c1d488ff4686272588329bab71d64f67cd
Signed-off-by: Kevin Rocard <krocard@google.com>
Query the package manager to check if the app has not opt-out of its
playback being captured.
Test: adb shell audiorecorder --target /data/file1.raw &
adb shell am start -a android.intent.action.VIEW -d file:///system/media/audio/ringtones/Lollipop.ogg -t audio/ogg
adb dumpsys media.audio_policy # check playback is not recorded
# change media player manifest to allowPlaybackCapture=true
adb dumpsys media.audio_policy # check playback is recorded
kill %1
adb pull /data/file1.raw && sox -r 48000 -e signed -b 16 -c 2 file1.raw file.wav&& audacity file.wav
# check silence then sound
Bug: 111453086
Change-Id: Id6fb7d0e10c02b0473bcbc0786e8360536996f48
Signed-off-by: Kevin Rocard <krocard@google.com>
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
(cherry picked from commit baa9e4e167)
Change-Id: I3c17b304a12c1eccd9f97ee50a0b7cf6e4b9a1da
Set bufferSize in @3.4::Stream::bufferSize for JPEG_APP_SEGMENTS stream.
Bug: 124999074
Test: Build
Change-Id: I6f24f4273b0d3d18b1bdbf263fc12ed48e857004
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
Otherwise incorrect state might be hidden.
Also: Unify devicesToString() and deviceToString() to toString().
Miscellaneous cleanup of replicated functionality.
Test: Basic audio sanity, AF and APM dumpsys check
Change-Id: Ic81167e2d2dbfcca881f0898764cf886215c217c
mediaserver is no longer forced to 32-bit mode, floating to primary
architecture which is usually 64 bits.
Bug: 16890215
Test: boot, record video, android.media.cts.MediaPlayerTest
Change-Id: If5265e251a4201e7037ddaa2f36fa998936622aa
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