| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Add permission check if the capture device selected is telephony
RX path.
Bug: 23017158.
Change-Id: Iaa34d836e6cf46b7cbbf2483fcd4306dcd27ce90
|
|
|
|
|
|
|
|
|
|
| |
Populate supported sampling rates, channel masks and formats when enumerating
attached build in capture devices.
Having this information for build-in mic is important for some applications.
Bug: 22729461.
Change-Id: I93f03296447a87c10f2615fa1b1c45e9879b4aa7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When evaluating on which device a sound is to be played, the policy
must consider which current routing strategy, if any, has priority
for overriding the choice. Here the playback of notifications,
when duplicated over speaker and headphones, was causing the
accessibility prompt to be muted because the it was of a higher
priority, and incompatible with the accessibility routing.
The fix consists in assigning a higher priority to the accessbility
routing strategy over the notification routing strategy.
Bug 18834451
Change-Id: I8228b30a7d80bd61d1c223afb030d9421d4f33cf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- audio policy:
Force device change to ensure new audio patch creation
upon first track activity on a given output.
Fix function device_distinguishes_on_address() which could mistake
some output device with remote submix input device.
- audio flinger:
Reduce number of binder calls upon new client registration by only
sending ioConfigChanged() callbacks to newly registered client.
Fix first patch after output thread creation not triggering an
ioConfigChanged() callback.
-audio system:
Force client registration upon routing callback installation to force
new ioConfigChanged() callback from audio flinger.
Bug: 22381136.
Change-Id: Ieb0d9f92f563a40552eb31bc0499c8ac65f78ce4
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the SessionRoute and SessionRouteMap inner class from policy
manager to common policy pillars as initiated by the refactor.
This code was added at teh wrong place by commit aa981194.
Bug: 22376521.
Change-Id: I29aca21614e409c59aae4b7b14163552fb0bffb1
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 2110e04c introduced a regression preventing ongoing alarms to
be restored when exiting a call and leaving the replacement tone
playing for ever.
Also add missing management of accessibility prompts when entering a
call.
Bug: 21857005.
Change-Id: I4295c791c003db42c0fba9f618e51f60438158d1
|
|
|
|
|
|
|
|
|
|
|
|
| |
- checkOutputsForDevice() should only clear device descriptor attributes
if the device is digital.
- checkInputsForDevice() did not clear device descriptor attributes at all.
- AudioPort::clearCapabilities() and importAudioPort() should not
manage gains as these are device specific.
- importAudioPort() should load a default port config.
Bug: 21990937.
Change-Id: Ida762ed8f9baaabae392cb4291eff1a8d3009751
|
|
|
|
|
|
|
|
|
| |
Filtering digital attributes for non-digital audio devices.
Bug: 21876072
21903975
Change-Id: Ia5c81a8160f4b4ebf5941dd0c5dfb68d01699ca6
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a session has an active explicit routing request, this routing
must also be applied to accessibility prompts if accessibility
usage is currrently remapped to the strategy used by this session.
Bug: 20873151.
Change-Id: I97c6ece98cf1af9c64c2d2eb1fe382c7c0d657b4
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Default disabled. This is enabled by
adb shell setprop audio.deep_buffer.media 1
Applications that use AudioTrack java interface for audio rendering
defaults to primary output as flags indicated as FLAG_NONE. If the
primary output is low latency output, it results higher power
consumption than deep-buffer path if used.
Make the deep buffer output as default option for music streams if
flags are not specified.
It may also be used for testing audio glitches from heavy CPU
or DRM which may cause issues with the FastMixer.
Bug: 21198655
Bug: 21785618
Change-Id: I909c296ddcf4484b9a877ef1c0230ea58537e06a
|
|
|
|
| |
Change-Id: I94a69207059d8010ded14bce5d6e39c3f3074649
|
|
|
|
|
|
|
| |
Property audio.offload.video normally disabled (set to 1 to enable)
Bug: 21198655
Change-Id: Ib1c457b1e3950f18d91b855424aa80bd23c723b0
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Check if primary output has been initialized before using it.
The primary output may not be initialized either due to HAL failure or
on devices without telephony.
Bug: 19573336.
Change-Id: Id1fc3ed588268e1232b43d1e6235254d2f1a71d0
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix logic in AudioPolicyManager::getProfileForDirectOutput()
to select the direct output with most matching flags and not just
the first compatible one.
Also fixes issue 17783395 which was fixed by commit f7bc29b02
in lmp-tv-dev branch only but in a way that caused a regression
for HW A/V sync (issue 19384172).
Also removed duplicated code lines in getOutputForDevice()
Bug: 20819715.
Bug: 17783395.
Bug: 19384172.
Change-Id: I7fc793b37f9b53fabd92cab6b884ef85cfdafee4
|
|
|
|
|
|
|
|
| |
Use AUDIO_OUTPUT_FLAG_TTS by default for TTS stream to see
if the HW supports a dedicated output for the same. If not,
fallback to primary output as it is done currently.
Change-Id: Ifb2ef7066e75c61fe4c1b9783c12627386a00ea5
|
|
|
|
|
|
|
|
|
|
|
|
| |
The audio port field mName was used for two different purposes
which caused a problem when exposing this information at the SDK API.
Create a new "mTag" field storing the audio_policy.conf device tag
if needed.
Field "mName" is now used to store any additional name associated to
a given device when available (e.g Manufacturer and model name for a USB device).
Change-Id: I17fa872e4a3a2e1b7cbb807c6f72e095a8a2c9c5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add method to AudioPolicyServiceClient for dynamic policy mix
activity notification.
Propagate notification to a dedicated callback.
Bug 20226914
Change-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876
|
|/
|
|
| |
Change-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use ref counting on start/stop inputs to notify audio policy client
of mix activity changes.
Bug 20226914
Change-Id: Ic4f9c91301d0bcbc0ff749acebdc3b2300309c38
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Have AudioTrack::setOutputDevice() set CBLK_INVALID flag instead
of calling restoreTrack_l(). This allows restoreTrack_l() to be called in
a safe context.
Allow device change while the AudioTrack is active by forcing a new
device selection in startOutput() if the output route for this
session was changed.
Remove some warnings.
Change-Id: I2d921a63c9bfa0e122233645e2d6d39f95f5f17d
|
|/
|
|
|
|
|
| |
Add binder methods to IAudioPolicyService to control activity
of external audio sources (e.g FM tuner).
Change-Id: I2008308a6a996baeae502b68a790d87281efe2ff
|
|
|
|
|
|
| |
Add capability for handling different record channel masks.
Change-Id: I63f6b029aca5cefff7adf26198a3b594a7ea2d71
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AudioPolicyManager::getInputForAttr() is initializing the AudioMix
for the new AudioInputDescriptor.
The audio policy manager refactoring introduced a regression where
the association of an existing AudioMix (registered when the
associated AudioPolicy was registered) with the input descriptor
copied a value of local scope, instead of referencing the
AudioMix in the list of mixes.
Bug 20081375
Change-Id: Iddd57fed8525880afd1d4a5493f97130aabe4816
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Volumes are now stored and exchanged in dBs to be
consistent with the volume tables.
They are converted if needed when applied to the target
gain controller.
Change-Id: I916cbb0bbe65c916444b8c65a2bdca9645c58399
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Output volume and routing control by AudioOutputDescriptor
is reorganized to prepare hardware source volume and routing
control.
AudioOutputDescriptor contains all volume, device and activity
state common to software (audio flinger mixers) and
hardware sources (tuners, A2DP, HDMI).
A new class SwAudioOutputDescriptor is derived from
AudioOutputDescriptor and is specific to software sources.
Low level routing and volume control methods receive an
AudioOutputDescriptor parameter instead of an IO handle.
mPrimaryOutput is now an AudioOutputDescriptor.
Change-Id: Ie90943ee3102cdb8adf89fdd2addd2c279b1e5bf
|
| |
| |
| |
| |
| |
| |
| | |
Allow creation of audio patches between input and output
devices managed by the same audio HW module.
Change-Id: I4b83268a4d5c41f3d5905d7581202cf5193efd32
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove mId member from AudioPort as it was shadowed
by mId in DeviceDescriptor.
Add getters for Id, and HW module name and version to device,
output and input descriptors.
Fix DeviceDescriptor name initialization.
Change-Id: I4a69f385e40330954d9dad5f2926c521f60b2ec1
|
|/
|
|
| |
Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use protected access in AudioPolicyManager class for
- engine field
- querying phone state
- isStrategyActive
Fix inclusion of AudioPolicyManagerInterface header.
Use "APM_" prefix in audio policy conf parsing code to avoid
naming conflicts with some HALs.
DeviceDescriptor and its collection class are good friends now.
Change-Id: I236d62a2b8a4b6bf68dd515932650b912577c145
|
|
|
|
|
|
|
|
|
|
|
| |
This patch defines an interface for a new component: policy engine.
The APIs found under this interface are the one we may want to customize
and to configure easily.
This patch also split the current manager code into manager and engine to
provide a default version of the policy engine.
Change-Id: I97cf59760b53d248fe9efe466ae5e73bd7e5cc06
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Create StreamDescriptor and associated collection within common
common policy pillar elements.
It moves the code from managerdefault and creates helpers function within
the collection.
It also split the AudioGain in a common volume header and AudioGain class.
Change-Id: I1bb80e4219506f8c9042367085db328d317cb668
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
This patch creates a SoundTriggerSession and associated collection within
common policy pillar elements.
It moves the code from managerdefault and creates helpers function within
the collection.
Change-Id: I83ea230573c05e8ab99f4489c20059ed27678221
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds EffectDescriptor and associated collection to common
policy pillar elements. It moves the code from the policy manager
and creates helpers function in the collection.
It also factorize the RoutingStrategy structure within a separated header
file.
Change-Id: I29964ff77564fadedf3237c8754240b21ae77297
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
This patch adds AudioMix and associated collection to the common
policy pillar elements library.
It removes the code from the manager and creates also helpers function
associated to the mix collection.
Change-Id: Ia3536fdef09da13734d2895030d736c701040237
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves from manager to common:
-parse helper functions of the policy configuration file
-collection helper function on
-output / input descriptors
-DeviceDescriptor
-AudioPatch / Audio Port
-IO Profile
-HwModule
Change-Id: If45e53418db75af1af198f43c4ef27884499055f
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch splits the managerdefault into a manager and a manager
defintion library that contains all pillar elements of a policy manager.
It renames the file with the name of the main class they contains.
It splits the AudioPort into AudioPort and AudioPatch.
Change-Id: I992cf0b8aed895805cc003ba0980d2c9e92c985b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch reoganises the headers inclusion in order to prepare
the split of managerdefault into a manager and a separated lib
of pillar policy elements.
It also moves back the isStrategyActive to the manager to avoid
any dependancies from this pillars to the manager.
Change-Id: I1a35c45d86db7a3878a40dc7d6858dfea37c5ac9
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Handle composite devices in IOProfile::isCompatibleProfile()
by just checking the type in this case, not the address which is relevant
only if a single device type is passed as input.
Also remove warning.
Bug: 19762960.
Change-Id: Iaecb7fcfbf7ad39b1e33cb460922f7c069a34a00
|
|/
|
|
|
|
|
|
| |
Fix device type comparison in DeviceVector::getDevicesFromType():
AUDIO_DEVICE_BIT_IN bit must be excluded from type comparison
and used as an orthogonal match criterium.
Change-Id: Ie7378723f5a3d613b1b045ccdda69650a9d655fc
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DeviceDescriptor inherits from AudioPort which has the correct
handle mId. The mId in DeviceDescriptor shadows this so calls
like DeviceVector::getDeviceFromId() findDeviceById fail because
they are looking at the wrong mId. The failure itself manifested
as createAudioPatch failing.
Change-Id: I8dd012d0678facaac84844b92226cc4b788abece
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In file included from frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.h:31:0,
from frameworks/av/services/audiopolicy/service/AudioPolicyService.h:38,
from frameworks/av/media/mediaserver/main_mediaserver.cpp:36:
frameworks/av/services/audiopolicy/managerdefault/ConfigParsingUtils.h:29:0: warning: "ARRAY_SIZE" redefined
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
^
In file included from frameworks/av/media/libmediaplayerservice/MediaPlayerService.h:31:0,
from frameworks/av/media/mediaserver/main_mediaserver.cpp:35:
frameworks/av/include/media/stagefright/foundation/ABase.h:21:0: note: this is the location of the previous definition
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
^
Change-Id: I4b80f783c592a78aa88b3dad297278353740466e
|