History log of /frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
1b2a794a27caab3a1320d22b872b04ef73e96555 08-Dec-2017 Mikhail Naganov <mnaganov@google.com> audiopolicy: Remove ; after namespace bracket

Semicolons are not needed after the closing bracket of
a namespace, remove it.

Test: compiles
Change-Id: Ie82930365f738fd9c95a9163839a68b772e49d95
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
a54f1283fdd9adbd64ecca4e14af56aaa0e8c825 02-Jul-2017 Eric Laurent <elaurent@google.com> aaudio: indicate client UID and PID to audio flinger

Implement correct indication of client UID and PID to audio flinger
for AAudio MMAP streams in both exclusive mode and shared mode.
- Add start/stop client methods on MMAP streams used only when the MMAP
stream is in AAudio service and carries a mix of shared streams.
- Add "In Service'" indication from "client" side to AAudioServiceStreamMMAP
so that the behavior can be adapted accordingly.
- Modify logic on audio flinger side with regard to mmap tracks and
audio HAL stream activity:
- use same audio session for all clients on a same stream to match
audio policy logic to share same direct output stream for clients on same
session. This is also more consistent with current volume and effect
handling as all MMAP clients sharing the same output stream have the
same volume and use case.
- start/stop the HAL when the stream is started/stopped with the initial client
handle (returned when the stream is opened) but do not create a track.
AAudioService implementation will always send an additional start command before
first client starts and a stop command after last client stops,
in both shared and exclusive mode.
- start/stop a track only if the start/stop stream command is received
with a handle different from the initial handle.
- Allow more than one active client from the same UID on a MMAP input in audio policy.

Bug: 62950008
Test: verify playback and capture in mmap mode
Change-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.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/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
d51b1b247b120c7e49851d923f3c5aa0aa19a787 27-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> resolve merge conflicts of 1e9a65df13 to master

Change-Id: I7c255d7813805b5ffb0d8e5ecd6fc11ee0b80c8a
8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send audio patch in recording callback

Remove direct access to patch handle in AudioInputDescriptor, replace with
set / get functions.
Add interface for AudioSession to query configuration from enclosing
input descriptor.
When input descriptor's patch handle changes during a recording, propagate
the change through the recording notification callback.

Bug 26798796

Change-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
c8d25af1c3c32b7671dbeb967fb86f24fa5fa313 24-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "Send client / device format in recording callback" into nyc-dev am: f70077e435
am: bce5dfdac0

* commit 'bce5dfdac0e90701f53e4f8a2c0f5a3c44a0a4ac':
Send client / device format in recording callback
7281aa9810b33eff47b00104db26c97c77931611 18-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send client / device format in recording callback

Bug 26798796

Change-Id: Ib4f64159c8371d87da49a8f0cad9317a87d843c4
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
232f26f8b673973ffa463f80b08b731ffacc8785 18-Feb-2016 Eric Laurent <elaurent@google.com> DO NOT MERGE - audio policy: disable concurrent capture

This reverts commit 4342335fb84bfa4ec5b99e3ef82f186820c2275f.
This reverts commit 56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a.
This reverts commit 313d1e7dfb4bf8e0a2f09a9adb287062dd64410c.
This reverts commit fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f.

Bug: 22702906

Change-Id: I9085918f1f7b12e28430958cceb768bb29c12bdb
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a 03-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Fix connection of OUT_REMOTE_SUBMIX device on APM startInput

Fix a regression in AudioPolicyManager::startInput() where
the OUT_REMOTE_SUBMIX audio device was never made available
due to the test on the input descriptor, which was already
active by the time it is tested, as the activity on the
session has already been updated.

Add methods to AudioInputDescriptor and AudioSessionCollection
to query the number of active sessions. Use the new method
to optimize AudioSessionCollection::hasActiveSession()

Bug 26798796

Change-Id: I2de4e47970505e64c4c78a148a80a9f0ec19e821
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f 29-Jan-2016 Eric Laurent <elaurent@google.com> Revert "Revert "audio policy for concurrent capture.""

This reverts commit 84332aaa807037baca05340875f2d94fcc519ac4.

Bug:26841909
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
84332aaa807037baca05340875f2d94fcc519ac4 28-Jan-2016 Eric Laurent <elaurent@google.com> Revert "audio policy for concurrent capture."

This reverts commit 4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1.

Bug:26841909

Change-Id: Ifc74b195394b9fb3f73d33455ad061bd896d5331
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1 16-Jan-2016 Eric Laurent <elaurent@google.com> audio policy for concurrent capture.

First implementation of concurrent capture policy:
Initially, only capture for HOTWORD or FM TUNER sources or
re-route submix is allowed at the same time as any other capture.
Several capture clients can share the same input stream. In this case
active clients are sorted by audio source priority level and the input
path configuration and routing is driven by the highest priority
active source.

Bug: 22702906

Change-Id: Icbedfe001c6243ecad7a7b57ab78d893b2b97402
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
2f4fe9f7df8f22c6bc8745407d19df73128810ec 05-Dec-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: callback for recording configuration change

Each AudioSession tracks start / end of recording, and sends
a callback to AudioSystem.
AudioSystem tracks a single recording callback tracking
input source and audio session number.

Change-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h
599c758b258cc5da0dba9b530425381facc37d77 08-Dec-2015 Eric Laurent <elaurent@google.com> audio policy: audio sessions on input descriptors

In preparation for concurrent capture, add support for multiple
audio sessions per input stream.

Each session keeps its own properties, open and active reference
counting.

No functional change for now: still one session per input and one active
input at a time.

Bug: 18815985.
Bug: 22702906.

Change-Id: I915a65989a7fd0d3cbe2fcf5a0aee2ea0df5f4f5
/frameworks/av/services/audiopolicy/common/managerdefinitions/include/AudioSession.h