5a2b62984c7cecd1761fe272c078dd814c167942 |
|
15-Apr-2016 |
Eric Laurent <elaurent@google.com> |
audio policy: support platforms with no audio devices Remove requirement to declare an AUDIO_DEVICE_OUT_SPEAKER device for platforms without audio output. By convention: - platforms without audio output should declare a single output device of type AUDIO_DEVICE_OUT_STUB also declared as default output device - platforms without audio input should declare a single input device of type AUDIO_DEVICE_IN_STUB Platforms with no audio at all can use stub audio policy configuration file and audio HAL with the following instructions in device.mk file: USE_XML_AUDIO_POLICY_CONF := 1 PRODUCT_PACKAGES += \ audio.stub.default PRODUCT_COPY_FILES += \ frameworks/av/services/audiopolicy/config/audio_policy_configuration_stub.xml:system/etc/audio_policy_configuration.xml Bug: 25075342 Change-Id: Id700978559427edd3c7cc38d98f2fd52928367ed
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
d848eb48c121c119e8ba7583efc75415fe102570 |
|
08-Mar-2016 |
Glenn Kasten <gkasten@google.com> |
Use audio_session_t consistently Bug: 27562099 Change-Id: I328d8226191386b163f2ace41233607294c50dcd
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
eeecb980ff4c202d0a3c4b0bfe040dce2f73336d |
|
26-Feb-2016 |
Glenn Kasten <gkasten@google.com> |
Add use for audio_unique_id_t Bug: 25641253 Bug: 21019153 Change-Id: I65dc128e760c245f3d90559635a8981b186c87d7
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
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/AudioPolicyInterface.h
|
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/AudioPolicyInterface.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/AudioPolicyInterface.h
|
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/AudioPolicyInterface.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/AudioPolicyInterface.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/AudioPolicyInterface.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/AudioPolicyInterface.h
|
c16bf1d9e8ccdd27327e988d50f5b9640e5406f8 |
|
13-Jan-2016 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "AudioPolicy: callback for recording configuration change"
|
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/AudioPolicyInterface.h
|
2ddee19245641e86bca436dda23a0f5089bf2ab5 |
|
19-Dec-2015 |
Andy Hung <hunga@google.com> |
Add setMasterMono and getMasterMono Bug: 15283594 Bug: 22700363 Change-Id: I32dc1fcecf285967a61bd508af3bb299595db57d
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
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/AudioPolicyInterface.h
|
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/AudioPolicyInterface.h
|
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/AudioPolicyInterface.h
|
466dc8ed6ca6b7f585104806c48613dd34e608c9 |
|
17-Apr-2015 |
Paul McLean <pmclean@google.com> |
Explicit routing in AudioRecord Change-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
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/AudioPolicyInterface.h
|
de80105c3f2db0eabd47640c49387ea3b44d4782 |
|
15-Apr-2015 |
Jean-Michel Trivi <jmtrivi@google.com> |
AudioPolicyManager: notification of dynamic policy mix activity Implement non-stream type specific ref counting in output descriptors to keep track of mix activity. Notify audio policy client of mix activity changes. Bug 20226914 Change-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
aa9811945f575614b3482d09e4d969792701cebb |
|
21-Mar-2015 |
Paul McLean <pmclean@google.com> |
Adding explicit routing API to AudioTrack Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
e743a47f445f02a0612018fa5640301304844fbf |
|
28-Jan-2015 |
Paul McLean <pmclean@google.com> |
Add additional info to AudioPort for enum/selection API. Add "device name" member to AudioPort. Moved unique device ID from DevicePort to AudioPort. Straighten out confusion between "name" and "address" Created string constants for Intent "extra" data keys. Combine card/address data into "address" at sender.Add additional info to AudioPort for enum/selection API. Change-Id: I1be308e12b09cd0ead9a3e9fbc9c385462299fb5
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
97bb33f58d742539f3382583d7978fca71ffa2d5 |
|
13-Dec-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix permission check for audio recording Define input types covering the different usecases for audio recording, and check the corresponding permissions when starting to record. Move the permission check from audio flinger to audio policy, as only the policy has the information to determine which permission to enforce. Fix missing permission when an application records audio and the audio is injected by an external policy. Bug 18736417 Change-Id: If7ec040502242c990ac8ea464db484339bdce573
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
baac183f3808d7b68f184647a97bd381620415fe |
|
02-Dec-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: binder calls for dynamic audio policy mixes Add binder calls to register and unregister dynamic mixes to AudioPolicyManager. Bug: 16009464. Change-Id: I4ef38166d0cfc88c984970969380d0cd6eb083ac
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
caf7f48a0ef558689d39aafd187c1571ff4128b4 |
|
26-Nov-2014 |
Eric Laurent <elaurent@google.com> |
AudioRecord: use audio attributes instead of audio source. Added AudioRecord constructor with audio attributes. Replaced AudioPolicymanager::getInput() by getInputForAttr(). No new functionality for now. Also: - Fixed warnings in AudioPolicyManager - Allocate audio session ID before calling getOutputForAttr() in AudioTrack. Bug: 16006090. Change-Id: I15df21e4411db688e3096dd801cf579d76d81711
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
e83b55dc29ca16092ba02f36f55fa6e0e37fd78c |
|
14-Nov-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: new getOutputForAttr() prototype. Update getOutputForAttr() prototype and group all logic dealing with audio attributes to stream type conversion in audio policy manager. getOutputForAttr(): - specifies the audio session (for future use) - returns a status code - receives either stream type (for legacy) or audio attributes - returns an updated streamtype Remove logic dealing with legacy stream types to attributes conversion from AudioTrack. Use correct type for audio sessions in other APIs (startOutput() ...). releaseOutput() specifies the audio session (for future use). Bug: 18067208. Change-Id: I1bfbe9626c04c7955d77f8a70aecfad2cb204817
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871 |
|
28-Jul-2014 |
Eric Laurent <elaurent@google.com> |
Add sound trigger control by audio policy Audio policy: - Added active capture indication to sound trigger service: recognition stops if concurrent capture is not supported. - Added generation of reserved I/O handle and session ID for utterance capture. Sound trigger service - Added sound model update callback handling. - Added service state callback - Simplified callback shared memory allocation. Bug: 12378680. Change-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
4dc680607181e6a76f4e91a39366c4f5dfb7b03e |
|
29-Jul-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: pass session ID to capture activity methods Indicate the audio session ID when calling getInput(), startInput(), stopInput(), releaseInput(). Bug: 12378680. Change-Id: I763793752f93e2f4e1445a5ab217c895af011038
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
de3f8392fbf380ba6f09d009b00d7172477389a2 |
|
28-Jul-2014 |
Eric Laurent <elaurent@google.com> |
rename AudioSystem::newAudioSessionId() Rename AudioSystem::newAudioSessionId() to AudioSystem::newAudioUniqueId() as it can be used also for I/O handles. Bug: 12378680. Change-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
cf2c0210c8afbe7d0661ccbbae3835b5ce73c0bf |
|
26-Jul-2014 |
Eric Laurent <elaurent@google.com> |
AudioFlinger: update openInput() and openOutput() Add parameters to openInput() and openOutput(): device address, input source. Allow caller to specify a given I/O handle Group parameters in a struct audio_config. Bug: 12378680. Change-Id: I7e9af74c0d996561cc13cbee7d9012d2daf33025
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
6a8ab05f0598f4ebdd5ef82e93cf32fde0598189 |
|
24-Jul-2014 |
Glenn Kasten <gkasten@google.com> |
audio policy: add audio_input_flags_t and mOpenRefCount Change-Id: I5f9c7b5ebf03b9bc94efe70d3677edfabb99c194
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
ec40d284218466d8f0e832e7eb88e6ea6c479c88 |
|
16-Jul-2014 |
Glenn Kasten <gkasten@google.com> |
Add audio_input_flags_t to IAudioFlinger::openInput For backward compatibility, until flags are correctly calculated, we will assume that the request is for a low latency input stream. Change-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
5bd3f38638acab633d181359cc9ec27b80f84d43 |
|
14-Jun-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
AudioPolicyManager: return output for audio attributes In AudioPolicyManager, support querying an output or playback strategy for audio attributes, instead of a stream type, In AudioTrack creation, use the output returned for the track's attributes. Change-Id: I0fef05845ba676404775e2e338c10e6a96237268
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
e1715a465a29db625da9d0ea365edf371e39e201 |
|
20-May-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: add audio port gain control Implement setAudioPortConfig() API to configure an audio port. Currently limited to gain control. Bug: 14815883. Change-Id: Ic1b268e5ba5c277e9f5b8fa63c81dd7c0b250024
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
b52c152d553556b2d227ffc943489de0c60b4b02 |
|
20-May-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: add routing update client interface Added IAudioPolicyServiceClient client binder interface for client process to receive notifications from AudioPolicyService when audio ports are added/removed or audio patches created/released. The audio patches owned by a given client are automatically released when this client binder dies. Bug: 14815883. Change-Id: I6013f6aec03b50565cffb1ad2cd1f0f8852032c5
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
6a94d69dc4f32abb53c466a96f905bb199be6417 |
|
20-May-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: implement routing control Add implementation of audio routing control via AudioSystem APIs. The following APIs are implemented: - listAudioPorts(): return a list of devices and output/input mixers ports that can be used as sources or sinks for audio patches. - createAudioPatch()/releaseAudioPatch(): create/release a connection patch between two audio ports (e.g. to connect input from an HDMI device to a speaker output device). Only one client application can own a patch from a given source. When an audio port (device or mix) is part of an application created patch, its routing cannot not be changed by a policy decision. - listAudioPatches(): return a list of existing patches. Each audio port addition/removal and each audio patch creation/release increments a generation count. This generation count is used to ensure consistency betwen calls to listAudioPorts() and listAudioPatches(). Bug: 14815883. Change-Id: I022b638c2f5f0bb41543c7cfca7488fb45cfdd80
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
951f455566775e5f01e67c5ee26863d7d19209d7 |
|
20-May-2014 |
Eric Laurent <elaurent@google.com> |
DO NOT MERGE - audioflinger: first patch panel implementation. Added a new PatchPanel subclass to AudioFlinger to handle audio ports and audio patches configuration and connection. The first implementation does not add new functionnality. AudioPolicyManager uses patch panel interface to control device routing. AudioFlinger: - Added PatchPanel class. The first implementation does not add new functionnality. PatchPanel handles routing commands for audio HAL after 3.0 or converts to setParameters for audio HALs before 3.0. - Added config events to ThreadBase to control synchronized audio patch connection. AudioPolicyManager: - Use PatchPanel API to control device selection isntead of setParameters. - New base class AudioPort common to audio device descriptors and input output stream profiles. This class is RefBase and groups attributes common to audio ports. - Use same device selection flow for input as for outputs: getNewInputDevice -> getDeviceForInptusiource -> setInputDevice Change-Id: Idaa5a883b19a45816651c58cac697640dc717cd9
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
dce54a1492c410ad0d93253b341fb33305337505 |
|
10-Mar-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: add option to use new policy manager Add build option USE_LEGACY_AUDIO_POLICY to use either new audio policy manager in local AudioPolicyManager.cpp or the legacy AudioPolicyManagerBase.cpp via the policy HAL. New features will be implemented only by the new audio policy manager. Platform customiization will be by config file or new policy HAL. AudioPolicyClientImplLegacy.cpp copied from AudioPolicyClientImpl.cpp AudioPolicyInterfaceImplLegacy.cpp copied from AudioPolicyInterfaceImpl.cpp New implementations of AudioPolicyInterface and AudioPolicyClient talking directly to AudioPolicyManager. Change-Id: I7a320883a1de13de2c9295343e996addf2f3c154
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
3b73df74357b33869b39a1d69427673c780bd805 |
|
11-Mar-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: remove dependency from AudioSystemLegacy Remove all dependencies on AudioSystemLegacy from AudioPolicyManagerBase. Only use types and definitions from audio.h and audio_policy.h. Also move code back into android name space. Change-Id: I0c2582cf854027fb1e599981865a6cbe7b5a9490
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|
e552edb33fb5873179ae0a46d9579d1103eb13c6 |
|
11-Mar-2014 |
Eric Laurent <elaurent@google.com> |
audio policy: import audio policy manager from hardware legacy Import AudioPolicyManagerBase from hardware/libhardware_legacy to prepare move from android_audio_legacy name space. Change-Id: I5d6682ccd2bfdeefbf2f6f81a557480a76aaf4fc
/frameworks/av/services/audiopolicy/AudioPolicyInterface.h
|