History log of /frameworks/av/media/libaudioclient/IAudioFlinger.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ef92bff8d2e8f6ec9a526fdb4fcfead0146a10f3 26-Apr-2018 Eric Laurent <elaurent@google.com> audioserver: return binder call permission error in reply

When a transaction to IAudioFlinger or IAudioPolicyService is detected
from an unauthorized source, return the INVALID_OPERATION status in
reply Parcel and not as transaction status.

Also removed check on SET_RINGER_MODE as it is not implemented on client
side and allow SET_MODE from system AIDs instead of just audioserver.

Bug: 78615605
Test: manual audio smoke tests.
Change-Id: Ia4fdfc22f049da69aaa9d45075e1c502eecf4521
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
f1047e87767be1acd2c32f4d36028d1d0014f4c0 17-Apr-2018 Eric Laurent <elaurent@google.com> audioflinger: filter out reserved keys from setParameters()

Only allow setParameters() for reserved keys when received from
audioserver UID. For instance, keys used to control routing or audio
stream configuration are reserved for use by audio policy manager.

Also use multiuser_get_app_id() instead of duplicated code to
extract application ID from UID.

Bug: 77869640
Test: manual audio smoke tests.
Change-Id: I88852e8fddf7f705e4a084fc02d9ced1f4b0de92
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
83028d5920884992b16f34aca167cd6c27734d3c 30-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support query microphones information." into pi-dev
9ff780e58ff96ff98acaae4166bb218880bf9e73 20-Mar-2018 jiabin <jiabin@google.com> Support query microphones information.

Get list of all/currently active microphones from hal.

Bug: 64038649
Test: Manual Testing and Cts test
Change-Id: Id39cae38ba040f9bc91571e713487f87c2eb67b0
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
96c7eed596077ff84e75b7b1c6f20c3a29219bd1 27-Mar-2018 Eric Laurent <elaurent@google.com> audioserver: fix UID checks for multi user

Fix UID checks in audioserver to take into account multi user UIDs
where the top part above AID_USER_OFFSET contains the user number.

Bug: 76439650
Test: manual audio smoke tests.
Change-Id: I6dbd616021bcb2639c7b7369000ce911c7e7e030
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
3528c9330f481f236f16753cb0846c7d6ddcc7ee 24-Feb-2018 Eric Laurent <elaurent@google.com> audio services: monitor execution time for binder commands

Add a mechanism to monitor execution time of incoming binder
calls to audio flinger and audio policy and cause native audioserver
restart in case of timeout.

Bug: 69250055
Test: manual. audio smoke tests
Change-Id: I01b5bf2599fb2a4cd265cbbe8d4e34b2b059aaf4
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
34c238eaf4af84787648c714289de9dcfa1668d3 31-Jan-2018 Eric Laurent <elaurent@google.com> Merge "audio: filter reserved binder calls"
4980df29f61d5fad95e17ca1d1969f6ca4c1f296 27-Jan-2018 Eric Laurent <elaurent@google.com> audio: filter reserved binder calls

Block incoming binder calls to audio flinger and audio policy service
for sensitive functions if they are not coming from a system UID.

Bug: 72278478
Test: audio smoke tests. CTS tests for AudioTrack and AudioRecord
Change-Id: I78e02efffe135d5450ced125e51e2084719ca03d
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
46a76fa5ffb88dbde2c67335dbc5cf20b75b10b6 05-Jan-2018 jiabin <jiabin@google.com> Add support for getting all available microphones characteristics.

Add MicrophoneInfo class in native side and native logic for supporting
query all available microphones.

Bug: 64038649
Test: Run test and check the print log.
Change-Id: Ic0a9cce55a1265a66ba08fe81b56b56cb88ba42f
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
03570a65a46bd0d577aa4c860c4f32f4abf79c7c 24-Jan-2018 Andy Hung <hunga@google.com> Merge "AudioFlinger: Allocate client memory based on total device memory"
6f248bb57a6a0febe8fc0f253acc86289237ace8 23-Jan-2018 Andy Hung <hunga@google.com> AudioFlinger: Allocate client memory based on total device memory

Test: Debug logging
Bug: 64161002
Change-Id: I7156748e5678c3232d1f1672439d11aecf3f458b
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
f4ddfefc8ba59a8486d91826154cc9447821409e 16-Jan-2018 Svet Ganov <svetoslavganov@google.com> Don't record audio if UID is idle - media framework

To protect user's privacy if a UID is in an idle state we allow
recording but report silence (all zeros in the byte array) and once
the process goes in an active state we report the real mic data.
This avoids the race between the app being notified aboout its
lifecycle and the audio system being notified about the state
of a UID.

Test: Added - AudioRecordTest#testRecordNoDataForIdleUids
Passing - cts-tradefed run cts-dev -m CtsMediaTestCases
-t android.media.cts.AudioRecordTest

bug:63938985

Change-Id: I1442a9dda1553e9ea7a4a654c50555ac1ec06aa0
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
b1cc36b5d52de7cb3d78426d41dee87f25d7164a 11-Dec-2017 Eric Laurent <elaurent@google.com> Revert "Revert "restrict binder transactions to audioserver""

This reverts commit 009c1e37d07936178b59346ee8f7cb19484644b6.

Bug: 70388312
Test: AudioRecord CTS, Audio smoke tests
Change-Id: I263aa1ed7ef832d593bc0fb02000d986ad1a3f69
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
f14db3c3ebc1ea29b3eb5b7e9b944cabcb5f83ff 08-Dec-2017 Eric Laurent <elaurent@google.com> Revert "Revert "refactor AudioRecord and AudioFlinger openRecord()""

This reverts commit 0aa3c6eba07f987fe84b5fa450274a8e730971e3.

Bug: 70388312
Test: AudioRecord CTS, Audio smoke tests
Change-Id: I45394bccf82b922aa2b68fee3e02afc280f6729c
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
3700e162a5526ada762d081de34c9abdd085c5fe 09-Dec-2017 Eric Laurent <elaurent@google.com> Merge "Revert "restrict binder transactions to audioserver""
009c1e37d07936178b59346ee8f7cb19484644b6 09-Dec-2017 Eric Laurent <elaurent@google.com> Revert "restrict binder transactions to audioserver"

This reverts commit 4db794441a5ef63733e109213269bb6324387b36.

Change-Id: Ifae4f59e4aed489bb22958674cf96d556b170d2d
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
cef7b7a656aaa1d6e875a0f0ffdf6e31f17d1aa6 08-Dec-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "refactor AudioRecord and AudioFlinger openRecord()""
0aa3c6eba07f987fe84b5fa450274a8e730971e3 08-Dec-2017 Eric Laurent <elaurent@google.com> Revert "refactor AudioRecord and AudioFlinger openRecord()"

This reverts commit 3e1acc0c58b337dec4054d78c28b48b2e77e0784.

bug: 70388312

Change-Id: I6782d6eceeece1bad998b02af26c0119da70a13d
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
4db794441a5ef63733e109213269bb6324387b36 05-Dec-2017 Eric Laurent <elaurent@google.com> restrict binder transactions to audioserver

Prevent other processes from sending reserved binder transactions
to IAudioFlinger and IAudioPolicyService.

Test: Manual audio smoke tests
Test: CTS: AudioRecordTest, AudioTrackTest, AudioEffectTest,
AudioPreProcessingTest, AudioManagerTest

Change-Id: I3643e03cb056236f5e88476d0a575cc28c220f2c
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
3e1acc0c58b337dec4054d78c28b48b2e77e0784 02-Dec-2017 Eric Laurent <elaurent@google.com> refactor AudioRecord and AudioFlinger openRecord()

Refactor the mechanism used by audio record tracks to query and
attach to an input mixer/stream in audio flinger. This will:
- reduce the number of binder transactions needed to create a record track
- move sample rate, framecount and flags validations to audio server side
- move audio session allocation to audio server side
- prepare restriction of certain binder transactions to audioserver only

Also:
- renamed openRecord() to createRecord() for consistency with AudioTrack
- make AudioRecord mStatus update consistent when calling default
contructor + set() or constructor with arguments
- make AudioClient, CreateTrackXXX and CreateRecordXXX classes derive
from Parcelable
- restore audio session ID validity check in AudioFlinger::createTrack()

Test: CTS tests: AudioRecordTest, AudioRecordingConfigurationTest, AudioPreProcessingTest
Test: manual test for capture use cases: camcorder, OK Google, VoIP calls
Change-Id: I72edaa7ddef1da11c77df21e88378e3aa9012d58
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
21da647792c0b78ab3943be0f32066015d5e8c34 10-Nov-2017 Eric Laurent <elaurent@google.com> refactor AudioTrack and AudioFlinger createTrack()

Refactor the mechanism used by audio tracks to query and attach
to an output mixer/stream in audio flinger. This will:
- reduce the number of binder transactions needed to create a track
- move sample rate, framecount and flags validations to audio server
side
- move audio session allocation to audio server side
- prepare restriction of certain binder transactions to audioserver only

Test: CTS tests for AudioTrack

Change-Id: If4369aad6c080a56c0b42fbfcc97c8ade17a7439
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
ff6900d8f991aac0b67b625f8a1d4d0461b4c50e 02-Aug-2017 Ivan Lozano <ivanlozano@google.com> Generate IAudioRecord with AIDL.

Use AIDL to generate the IAudioRecord interface rather than using
a manually implemented interface.

Bug: 64223827
Test: Ran the AudioNativeTest and CtsMediaTestCases CTS tests.

Change-Id: Iade23c73253a97c358050bbd697ebe592b89a4c0
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
084ad5a4e0af7f816e3279359ed49ae18f8c7d74 27-Apr-2017 Glenn Kasten <gkasten@google.com> Merge "Use correct binder opcode names"
25a9e5561a7f14e79b04f713a515a9464b9ea077 17-Apr-2017 Steven Moreland <smoreland@google.com> Add libaudioclient_headers

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: I31cf7e7cd89fe6e71d4e52f7682990146a12b2fb
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
9eae036a9822f9ba7d13b7d623310a15e23ba5f0 19-Apr-2016 Glenn Kasten <gkasten@google.com> Use correct binder opcode names

Make the binder opcode names match the method names

Test: builds OK, this does not change behavior
Change-Id: I7c56ddd1efabc81b5d0ab2d1979ba1001ec76994
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
dcdfaecc1fa630a799e1fdb508a9b92da55abc36 14-Feb-2017 Nicolas Roulet <nicoroulet@google.com> NBLog periodic merging thread

Bug: 35468674
Test: no change in functionality, everything works as before
Change-Id: Id2cea243bc15767ca6803c9505bf23a18411500e
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
6a308b02f138e358fb239ee2df5d54dd988f34fd 16-Dec-2016 Eric Laurent <elaurent@google.com> Merge "Add unique audio port IDs to AudioTrack and AudioRecord"
20b9ef0b55c9150ae11057ab997ae61be2d496ef 05-Dec-2016 Eric Laurent <elaurent@google.com> Add unique audio port IDs to AudioTrack and AudioRecord

This will allow to track activity at the track level instead of
at audio session level as only possible with current implementation.

AudioTracks and AudioRecords will receive a unique audio port ID the
first time they register to audio policy with
getOutputForAttr()/getInputForAttr() and keep this ID for their
lifetime.

This CL is the first partial change and just updates the
audio policy and audio flinger APIs used at track creation time.

Test: basic regression test of audio playback and capture use cases

Change-Id: I8d612e67738e120494f61e3f7c60bfd0b2c6a329
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
b643627a557e44b9ab5879cf71e162af2d514ce3 08-Dec-2016 Eric Laurent <elaurent@google.com> fix client pid for effects applied by audio policy

Test: Hangouts call, Play Music with and w/o effects

Change-Id: Ia9b20f94be667dd92e0497f8ef9c0dc0e95afe28
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp
538ec5e04f389cba637b030757be317fcb8677a8 02-Nov-2016 Marco Nelissen <marcone@google.com> Split libmedia into libmedia and libaudioclient

This makes it so audioserver doesn't need to link against the entire libmedia,
which has dependencies on camera, ICU, OpenGL and other things that aren't
needed for audio.

Test: build/boot

Change-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af
/frameworks/av/media/libaudioclient/IAudioFlinger.cpp