History log of /frameworks/av/include/media/AudioSystem.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
817729095966c338615a8a791d2dbf774fc034ef 03-Apr-2018 jiabin <jiabin@google.com> Add support for manually set surround formats.

To make surround sound setting more clear to users, we are changing
surround setting from ALWAYS to MANUAL. With MANUAL, users could enable
surround formats according to their need.

Bug: 67479735
Test: Try creating AudioTrack with enable/disable surround formats.
Change-Id: Ia6c0e1210ff6215f4b80a278a0aa90ca9543f262
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
2443760584e8e9798b65b297f1636953c287e5d8 23-Apr-2018 François Gaffie <francois.gaffie@renault.com> audio policy service: fix audioserver port cb upon APS crash

In case of an audioserver crash, clients that registered AudioPort
cb are no more notified of Port and Patch update (only Service Died
continues to work).
The AudioPolicyService client shall upon registration set again the
cb flag to continue beeing notified.

Also clear binder caller identity before registering a client to
audio flinger and audio policy services to avoid registering the
wrong client when get_audio_flinger() or get_audio_policy_service()
is called while executing a binder call.

Bug: 78506562
Test: launch a test app registering to Port Callback. Check upon
setDeviceConnectionState and createAudioPatch that cb are called.
Kill the audio server, and check cb continue to be called.

Change-Id: If1e803f59cb02fba84b6259e9da2d7031235d9c2
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
fee1976a2849c37a53d8a01ac10327d522a1ba93 30-Jan-2018 Eric Laurent <elaurent@google.com> Revert "Revert "audio policy: refactor audio record APIs""

This reverts commit e9ebcdbb0580bd4a75f4530b957b1859e535c028.

Bug: 72628781
Test: manual camcorder tests
Change-Id: I9fb550a9f62d2d15cafbd7534e5e7eaa155a7213
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
8ec3d5d415776cf37398b6cf788a3d4be2335a73 30-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I6bcc87c6,If633e677

* changes:
Revert "audio policy: refactor audio record APIs"
Revert "audio flinger: move record permission checks to audio policy service"
e9ebcdbb0580bd4a75f4530b957b1859e535c028 29-Jan-2018 Eric Laurent <elaurent@google.com> Revert "audio policy: refactor audio record APIs"

This reverts commit 0f4b3c5449f85c1cd78e1b9ac4850de962b8edbe.

Bug: 72628781
Test: Capture several videos from camera app
Change-Id: I6bcc87c618ac9bfe5c911915cbb37de616bc727a
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
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/include/media/AudioSystem.h
0f4b3c5449f85c1cd78e1b9ac4850de962b8edbe 05-Jan-2018 Eric Laurent <elaurent@google.com> audio policy: refactor audio record APIs

Refactor audio policy service APIs controlling audio record (startInput, stopInput, releaseInput)
To allow finer grain control per AudioRecord client and prepare for new concurrent capture
policy

Test: AudioRecord CTS test. manual test of capture use cases:
camcorder, OK Google VoIP

Change-Id: I4992fd5a115853c47be5dac5465989eb53f1287c
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
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/include/media/AudioSystem.h
766fb020a50b64bf9a808bd80df60c54c2ca8cc3 06-Jan-2018 Nadav Bar <nadavbar@google.com> Support routing audio playback to telephony uplink

This change enables phone apps to play audio to the uplink stream
during a call.
This change maks the AUDIO_OUTPUT_FLAG_INCALL_MUSIC_UPLINK flag to be added to the flags that are sent to the HAL when an ongoing call is active, the chosen output device is the TX telephony device, the stream type is music, and the calling app has the MODIFY_PHONE_STATE permission.
For this change to take place, the following changes were made to the signature of getOutputForAttr in IAudioPolicyService:
1. Add pid (process id) parameter to getOutputForAttr.
2. Make the flags parameter a pointer so changed value can be
examined by calling function.

Bug: 69973354.
Test: tested manually.
Change-Id: I74cef3f8b66de6e0e8f87b6235130c2cdf423da7
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
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/include/media/AudioSystem.h
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/include/media/AudioSystem.h
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/include/media/AudioSystem.h
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/include/media/AudioSystem.h
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/include/media/AudioSystem.h
f4e63452b37c799c9387a6a88b46e6191f6a5f7e 06-Nov-2017 Eric Laurent <elaurent@google.com> Revert "Revert "audio policy: refactor getOutput() method""

This reverts commit e198f26cae6f0b5c67340935c291363fdfff87f1.

Change-Id: I65eb2905adb45c3809a499d85c1a8ef68cec7ed5
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
e198f26cae6f0b5c67340935c291363fdfff87f1 04-Nov-2017 Eric Laurent <elaurent@google.com> Revert "audio policy: refactor getOutput() method"

This reverts commit e1dd2075105317ef8ff2b924423c88856e8fe8ea.

Change-Id: I4b7a2177af5bff5013ec4fe7fcdeb722f6b158c5
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
e1dd2075105317ef8ff2b924423c88856e8fe8ea 03-Nov-2017 Eric Laurent <elaurent@google.com> audio policy: refactor getOutput() method

getOtuput() was long replaced by getOutputForAttr() for the purpose of
querying an appropriate HAL output stream for a given playback use case.
It is now only used internally by AudioSystem to find an existing output
corresponding to a given stream type in limited cases.

This CL simplifies getOutput() by removing unused arguments and just
returning an output from already opened outputs.
This is in preparation of limiting access to audio policy binder calls
to what is strictly needed by apps.

Test: test main playback, capture and call use cases.
Change-Id: I137c5526aa7e82303b43948326c77ec798f432f5
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
ad2e7b902c0432a0db40906a4b1f5b693ce439dd 15-Sep-2017 Eric Laurent <elaurent@google.com> Fix various AAudio device selection issues

Bug: 65292224
- Audio policy manager should not use an unavailable device when an explicit
route is requested. This causes a device selection made by a client to
become sticky after device disconnection.

Bug: 64945845
- Remove spurious device change callback occuring after registering a
new client to audio server by creating a specific configuration event
for client registration.
- Do not keep strong references to device callback interfaces in
AudioTrack, AudioRecord and AudioSystem.
- Do not update selected device in AudioTrack and AudioRecord when
not active as the new device selection on the stream is because of other
clients activity which is not relevant to an inactive client.

Bug: 65693340
- Fix missing increment of SessionRoute ref count in getInputForAttr() for
MMAP inputs

Test: AAudio CTS tests

Change-Id: I2a01b02e8b064d352004f6065495fd99aee55745
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
9ae8c597d9a0c8cedc4047fc4716d7361453f6ab 23-Jun-2017 Eric Laurent <elaurent@google.com> Set initial audio device for AudioTrack and AudioRecord

Bug: 62090113
Test: run AAudio test and verify a valid device is reported just
after opening playback or capture streams in legacy mode.

Change-Id: Ic8be42e1735690eb00c811ef0cb8b5abb36172d6
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
ac4e42982d4537732b30e71c9a00ba0077944984 22-Dec-2016 Jean-Michel Trivi <jmtrivi@google.com> Monitoring of recording: uid of recording session

Pass uid of recording session along with other existing information
in the recording monitoring callback.
Define new structure, record_client_info, to group uid (new),
session id (existing) and source (existing) and simplify
method signatures and marshalling code.

Test: run cts -m CtsMediaTestCases -t android.media.cts.AudioRecordingConfigurationTest#testAudioManagerGetActiveRecordConfigurations
Bug 62579636

Change-Id: I18f66d7e55640a21f31021416a12a3e8094c3690
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
ac9cef5f3288df6e65cb4488e2615cc3c07b70d0 10-Jun-2017 Eric Laurent <elaurent@google.com> audio policy: add method to query dB attenuation for a certain volume and device

Bug: 62492975
Test: Check dB value returned to AudioService when stream volume is
changed

Change-Id: I8d0a945e9151d230b93634e4b9e57bab68f44fa8
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
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/include/media/AudioSystem.h