History log of /frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1baa0a2040448e90edb135591b784f6ed6509755 15-Aug-2017 Andy Hung <hunga@google.com> AudioPolicyService: Acquire mutex for SoundTriggerSession

Test: Enable always on GSA
Bug: 64340921
Change-Id: I05d8c680be97ba4c92081425596addcc038f7dda
(cherry picked from commit f759b8c4bcce2d3b3d45551be461f04297fa2bd3)
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
b378b73dd7480b584340b8028802c9ca2d625123 02-Dec-2016 Eric Laurent <elaurent@google.com> DO NOT MERGE - improve audio effect framwework thread safety

- Reorganize handle effect creation code to make sure the effect engine
is created with both thread and effect chain mutex held.
- Reorganize handle disconnect code to make sure the effect engine
is released with both thread and effect chain mutex held.
- Protect IEffect interface methods in EffectHande with a Mutex.
- Only pin effect if the session was acquired first.
- Do not use strong pointer to EffectModule in EffectHandles:
only the EffectChain has a single strong reference to the EffectModule.

Bug: 32707507
Change-Id: Ia1098cba2cd32cc2d1c9dfdff4adc2388dfed80e
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
9f39f8d6cc1445c338d8cb635fdbc167c4200971 25-May-2016 Eric Laurent <elaurent@google.com> Fix warning in audio policy service

Change-Id: I33b20b7007e19e8b2514ffdf2232e9c1d7314d9f
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
b2379ba0a32638bae2ea0460644f68cf5a0967ce 24-May-2016 Eric Laurent <elaurent@google.com> Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check

Make sure we use the correct PID and UID when checking
android.permission.CAPTURE_AUDIO_OUTPUT permission from audio
policy service.

Bug: 28772898
Change-Id: I8f0c45bf7a5728b4364a451eefb6c025892ae9a5
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
d848eb48c121c119e8ba7583efc75415fe102570 08-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_session_t consistently

Bug: 27562099
Change-Id: I328d8226191386b163f2ace41233607294c50dcd
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
c8fc4803705da79aaaeff909538a976bf0e45852 22-Feb-2016 Eric Laurent <elaurent@google.com> Merge "audiopolicy: Synchronize calls to Effects state" into nyc-dev
bab7bf46e15f7e2e304081c5cc56f8d58f5f09f3 31-Oct-2015 Haynes Mathew George <hgeorge@codeaurora.org> audiopolicy: Synchronize calls to Effects state

Synchronize calls that might access Effects state (alternate approach)

Bug: 26516500

Change-Id: Ie03de9c67232e0ac7f5db5cbfe87ec058acbfc8e
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
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/service/AudioPolicyInterfaceImpl.cpp
4342335fb84bfa4ec5b99e3ef82f186820c2275f 05-Feb-2016 Eric Laurent <elaurent@google.com> audio policy: fix capture concurrency mode checks

Capture concurrency mode indicated by policy manager
after startInput() is a bit field and should be handled as
such by startInput() in AudioPolicyInterfaceImpl.

Bug: 26994864
Change-Id: Iff093a82b8b68262abab50bc84060cf023450783
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
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/service/AudioPolicyInterfaceImpl.cpp
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/service/AudioPolicyInterfaceImpl.cpp
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/service/AudioPolicyInterfaceImpl.cpp
2ddee19245641e86bca436dda23a0f5089bf2ab5 19-Dec-2015 Andy Hung <hunga@google.com> Add setMasterMono and getMasterMono

Bug: 15283594
Bug: 22700363
Change-Id: I32dc1fcecf285967a61bd508af3bb299595db57d
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
dcb346b7dc5b88c3e85db8a70bbd6a2fee8192b9 09-Sep-2015 Marco Nelissen <marcone@google.com> Run audio services in audioserver instead of mediaserver

audioflinger, audiopolicy, (fm) radio, soundtrigger moved to audioserver.
medialog is removed from mediaserver.
audioserver has same permissions and rights as mediaserver.

mediaserver is allowed to specify client uid to audioserver.

Subsequent CL will add medialog to audioserver.

TBD: Pare down permissions.

Bug: 24511453
Change-Id: Iccaa08b874a502710d142e72f8abbb3d97c44cfa
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
d60560af7cb559762593161c8202459cc01fb0f5 10-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: add support for external audio sources

Add support for activity on external audio sources.
An external source reflects activity on an input audio device
that must be controlled (both routing and volume) by the
audio policy manager.
First, the input device must be connected with setDeviceConnectionState().
Then, the source activity is indicated with startAudioSource() and
stopAudioSource() APIs.
startAudioSource() indicates the source device with an audio port configuration
and the use case by the audio attributes.

Once a source is active, its routing and volume are controlled by the policy manager
as it would for a software source (AudioTrack).

Change-Id: If5805d58a4356b2f681f1aabf54375f62b55b98a
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
62ac714617c3c994619afdc0666ac3359d8084e7 29-Oct-2015 Eric Laurent <elaurent@google.com> Merge "AudioPolicyService: Synchronize access to AudioPolicyManager"
am: 60cf8e8925

* commit '60cf8e892519b84bd5aa2c7ef8027304382ac4b0':
AudioPolicyService: Synchronize access to AudioPolicyManager
dfb9f3b053fa8ff7e622783a2040953442c44700 27-Oct-2015 Haynes Mathew George <hgeorge@codeaurora.org> AudioPolicyService: Synchronize access to AudioPolicyManager

Synchronize access to APM when getDevicesForStream is called
on APM.

Change-Id: I2ba6922341f035375270b02000ef5a7e078f6b5a
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
beb07febdc0cae2f43a2008d3bd06b7bb933b19a 17-Sep-2015 Eric Laurent <elaurent@google.com> audio policy: bind setMode() and setPhoneState() operations

No routing operation should be allowed between setMode() and setPhoneState()
when starting a call as the audio HAL relies on a precise sequence of mode change
and routing change to select the initial audio device for the call.

Bug: 24083591.

Change-Id: I2d5ef62c11cf7aedc2ec7ca5e5fadd7ac875afbc
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
82db269d4797cb9909988b723d91fa2094a74b38 07-Aug-2015 Eric Laurent <elaurent@google.com> audio policy: protect capture from telephony RX path.

Add permission check if the capture device selected is telephony
RX path.

Bug: 23017158.
Change-Id: Iaa34d836e6cf46b7cbbf2483fcd4306dcd27ce90
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
8c7e6dac6f5eb38cef627dab92eac8b38513450c 22-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: session routes continued.

- Clear session routes when client process dies.
- Enforce the route only when the requesting session is active.
- Fix requested route not working if an output mix change is required
(e.g forcing to SPEAKER when the default route is USB or A2DP).
- Make sure all sessions sharing the strategy with a rerouted session
have the same route (needed for volume control consistency)

Change-Id: I0ab347a8fb97e73e2c5965374544c5f4fe509ef1
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
466dc8ed6ca6b7f585104806c48613dd34e608c9 17-Apr-2015 Paul McLean <pmclean@google.com> Explicit routing in AudioRecord

Change-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
a7401cc5e781da150b46e7ae37905ab9ca2aa758 21-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: remove permission check for ports and patches getters

Remove check for MODIFY_AUDIO_ROUTING permission in
audio policy methods just getting devices or patches state.

Change-Id: Id3bafc5ad0d0bd96210822243139898e314327d8
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
554a277d4e42a3d3df3d90ba0e7dfa2d31690e32 10-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: add binder calls for audio source control

Add binder methods to IAudioPolicyService to control activity
of external audio sources (e.g FM tuner).

Change-Id: I2008308a6a996baeae502b68a790d87281efe2ff
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
ab300c8cbf5df98fddca39e8d1698b0307432152 13-Apr-2015 Eric Laurent <elaurent@google.com> audio polciy: remove FM audio capture permission.

Change-Id: I2607d89b0bd87cdd2f4084dfdb55135509a824d5
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
aa9811945f575614b3482d09e4d969792701cebb 21-Mar-2015 Paul McLean <pmclean@google.com> Adding explicit routing API to AudioTrack

Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd 24-Jan-2015 Jean-Michel Trivi <jmtrivi@google.com> Refactor AudioPolicyManager

AudioPolicyManager implementation is now split into the
following files:

files managerdefault/Gains.*
class AudioGain
class VolumeCurvePoint
class StreamDescriptor

files managerdefault/Devices.*
class DeviceDescriptor
class DeviceVector

files managerdefault/Ports.*
class AudioPort
class AudioPortConfig
class AudioPatch

files managerdefault/IOProfile.*
class IOProfile

files managerdefault/HwModule.*
class HwModule

files managerdefault/AudioInputDescriptor.*
class AudioInputDescriptor

files managerdefault/AudioOutputDescriptor.*
class AudioOutputDescriptor

All files for libaudiopolicyservice are moved under service/

All files for libaudiopolicymanager are moved under manager/

Change-Id: I43758be1894e37d34db194b51a19ae24461e066e
/frameworks/av/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp