| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
to use the new static version.
Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Audio Policy service filters out one of the create patch
commands when it finds two pending commands with the same
patch handles. Due to this routing command is not received
to audio HAL and the voice call set up fails.
Fix this by filtering create patch commands only when
they are issued on the same output.
authored-by: Karthik Reddy Katta <a_katta@codeaurora.org>
Bug: 17787282
Change-Id: If36f0ab71e9b72d6a8eb61d31f762bc5e1683b89
|
|
|
|
|
|
| |
Bug: 17896324.
Change-Id: I3bb74f5397142ac354bd815eb362e5ddacdcb463
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When pre or post processing effects are applied by audio policy service
automatically there is a potential lockup if the first call into
AudioPolicyService is made while creating one of those effects.
This is because effects are created with AudioPolicyService mutex held and
effect creation calls into methods (e.g registerClient()) which also acquire
the mutex.
The fix consists in adding a new mutex to AudioPolicyEffects class and not
hold the AudioPolicyService mutex when calling methods in of class.
Bug: 17830596.
Change-Id: Ie61c3671d3147f46e99ba208f39c1a3bf180779f
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
As for set parameters commands, create or release audio patch commands
modifying the same patch handle should be filtered by the audio policy service
command thread so that an immediate command is not overridden by
a pending delayed command.
Bug: 17379728.
Change-Id: I6aa4652b4bfec59eebd3c3cb7d1d9ac1bc1d6e49
|
|
|
|
|
|
| |
-Wake_lock release before sleeping or quitting threadLoop().
Change-Id: Icab53d7984a3ba3eaf13e514667b4d60f40cbcd6
|
|
|
|
| |
Change-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff
|
|
|
|
|
|
|
|
|
|
| |
Added rules to select most appropriate sampling rate, format and
channel mask from an input or output profile.
Moved mFlags from IOProfile to its base class AudioPort.
Removed bogus mChannelMask member in DeviceDescriptor class.
Improveed dump of dynamic parameters in AudioPort.
Change-Id: Ic09d320386002a8bafee4a28db00b1001a386678
|
|
|
|
|
|
| |
Manage pre- and postprocessing effects defined in audio_effects.conf
Change-Id: Idea1478e3d434f8ff66907adb3c77663db78d583
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
In the AudioCommandThread loop, release mLock before releasing
the strong reference on the service as AudioPolicyService destructor
calls AudioCommandThread::exit() which acquires mLock.
Also check exiPending in thread loop before processing pending
commands or sleeping.
Bug: 15449050.
Change-Id: I148bf21bd67ef721b5b5ee2c1a6afb185c59daa3
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
No need to clear strong pointers in the destuctor.
Add explicit exit() command to mOutputCommandThread.
Change-Id: I60bb248fe6a20bfd8a55358ef139692b93df0238
|
|
|
|
|
|
|
| |
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
|
|/
|
|
|
| |
* commit '0c282de73240b1efce64558ab2fa0a8be1f4292b':
AudioPolicyService: malloc/delete pair
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split audio policy service implementation to ease
further evolution:
AudioPolicyInterfaceImpl.cpp contains the implementation of
IAudioPolicyService interface
AudioPolicyClientImpl.cpp contains the implementation of the
AudioPolicyManager client interface
AudioPolicyService.cpp contains the rest of the code mostly
command threads implementation and pre processing management.
AudioPolicyService.cpp:
Change-Id: Ic48ba165532ef66e84a30894d01f750ed6619d02
|
|
Change-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf
|