| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: Ifd30546c11def40ad483f27c9d7baa4008fcbac3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add binder calls to register and unregister dynamic mixes
to AudioPolicyManager.
Bug: 16009464.
Change-Id: I4ef38166d0cfc88c984970969380d0cd6eb083ac
|
|\ \
| |/
| |
| |
| |
| |
| | |
of audio source." into lmp-mr1-dev
* commit '390ef84373b7edd1397381f780ca235326357094':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
prototype." into lmp-mr1-dev
* commit 'bf14c62e7973ed793a3b00c2c67beca4484c1c7a':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
lmp-mr1-dev
* commit '568689b169d8b0ae2cc252b88602db5e5acaa604':
AudioSystem: fix cross deadlock
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not hold gLockAPS when calling
AudioPolicyService::registerClient() in get_audio_policy_service().
registerClient() will need to acquire the AudioPolicyService mutex and
if at the same time a method called from AudioPolicyService
(with mutex held) calls back into AudioSystem and get_audio_policy_service()
a cross deadlock occurs.
Same preventive fix for get_audio_flinger().
Use a separate mutex for notification client list in AudioPolicyService.
This prevents deadlocking if registerClient() is called as a consequence of
AudioFlinger calling back into AudioPolicyManager while executing a method
with AudioPolicyService locked
Bug: 18403952.
Bug: 18450065.
Change-Id: Ia832e41aede8bc6c843fc615508fbdd74e0863b5
|
|/
|
|
|
|
|
|
|
|
| |
Both legacy and non-legacy AudioPolicyInterface define
extern "C" functions createAudioPloicyManager and
destroyAudioPloicyManager. Standard C++ does not
allow overloading of extern C functions.
g++ did not catch this problem but clang++ does.
Change-Id: I80869cdb26e7721777e53d4eff71c5c733044abf
|
|
|
|
|
|
| |
Bug: 17896324.
Change-Id: I3bb74f5397142ac354bd815eb362e5ddacdcb463
|
|
|
|
|
|
|
|
|
| |
Make sure that accessibility prompts are heard when
a ringtone is active by forcing stream type
to AUDIO_STREAM_RING when phone state is AUDIO_MODE_RINGTONE.
Bug: 17558149.
Change-Id: Ia3bead8052fca5cbf282c267f7b9b06014fef628
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Indicate the audio session ID when calling getInput(),
startInput(), stopInput(), releaseInput().
Bug: 12378680.
Change-Id: I763793752f93e2f4e1445a5ab217c895af011038
|
|
|
|
|
|
|
|
|
| |
Rename AudioSystem::newAudioSessionId() to
AudioSystem::newAudioUniqueId() as it can be used
also for I/O handles.
Bug: 12378680.
Change-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff
|
|
|
|
| |
Change-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170
|
|
|
|
|
|
|
| |
For backward compatibility, until flags are correctly calculated,
we will assume that the request is for a low latency input stream.
Change-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95
|
|
|
|
|
|
| |
Manage pre- and postprocessing effects defined in audio_effects.conf
Change-Id: Idea1478e3d434f8ff66907adb3c77663db78d583
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Use the class factory to create the audio policy mamager
instead of AudioPolicyManager class constructor and
use a pointer to an AudioPolicyInterface.
Change-Id: Ibb5a8eee5d597db67cf13f279c909181cfee9949
|
|
|
|
|
|
|
|
|
|
| |
Implement setAudioPortConfig() API to configure an
audio port.
Currently limited to gain control.
Bug: 14815883.
Change-Id: Ic1b268e5ba5c277e9f5b8fa63c81dd7c0b250024
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I0a62e5416edc41c3a0e816275085ab18a23066f1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
- Use strong pointers for command data to avoid transfering
ownership of the object to receiver thread.
This avoids waiting for the command acknowlegement to proceed
with next command on server side.
- Use a separate mutex for each command condition.
- Factor in duplicated code to send commands.
Change-Id: Ib0526e7c4fa64a71ad4015f477c6361727c6f40a
|
|
|
|
|
|
|
| |
commands in insertCommand_l()"
* commit '711719885d7563068579abf347c366cf6bc906f5':
Fix memory leak when filtering commands in insertCommand_l()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
Change-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf
|