| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Some effects modules are racy and don't tolerate being destroyed
and immediately resurrected on the same session. This is
the common case when switching tracks, and the use of default
output effects makes the problem even worse. Certain apps
which handle gapless in a sloppy way are also to blame.
* Instead of immediately nuking the entire descriptor with the
stream, just decrease the refcount and defer it for 10 seconds.
If it needs resurrected, the refcount will be increased and
the delayed release command will not shoot it in the face.
Change-Id: I068dd72c4180023a74eb9ccbe8a180f6f0683dbf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* In M, we now have the ability to define a default set of audio effect
on a per-stream basis. This allows us to get around the problem of
apps not sending the control intents so we can implement smart
global effects for specific media types.
* We still need a session id in order to get a handle and configure them
from an app like AudioFX, so we'll need to add some plumbing in
order to send an event to interested applications.
* This patch implements the native side of this. The Java layer will
call down thru AudioSystem and register a callback which will be
invoked by the audio policy when default effects are updated on
a stream. This callback will receive both the stream type as well
as the session id.
* Attaching this listener requires that the caller hold the
MODIFY_AUDIO_ROUTING permission.
Change-Id: I142b15f2585ffca6a953c3e828e2a7c07b24f56c
|
|
|
|
|
|
|
|
|
| |
* In case a device has a /vendor partition which cannot be
modified, this allows us to short-circuit the audio_effects.conf
file which might be placed there with one of our own which
lives on /system.
Change-Id: Ief87bd4cfba2c3188b0dff122d91f773b7f3d92d
|
|
|
|
|
|
|
| |
Warn allocation failures explicitly rather than crash
trying to access unallocated memory
Change-Id: Ie86c3ac130917e1f4030eb8207ac8350cba7711d
|
|
|
|
| |
Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
|
|
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
|