| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Completed support for dynamic sources:
- remote submix input device is dynamically connected/disconnected
when corresponding AudioTrack starts/stops.
Also do not create a duplicated output for mixes used by dynamic policies.
Bug: 16006090.
Change-Id: Ib5b5a2159fcac9d9f410a5a2f1c64d7ebad79f72
|
|\ \
| |/
| |
| |
| |
| |
| | |
and rerouting
* commit '1546028a2d02837f88f7ea1a4109e7649b665d2f':
AudioPolicyManager: distinguish between mirroring and rerouting
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the screen mirroring case, the notification manager queries
the policy to see if media "is playing remotely": if yes, it
will not request audio focus before playing a notification.
This is the correct behavior for screen mirroring, but doesn't
work when audio is rerouted to an external policy.
This change consists in not reporting "remote" activity when
playing to a mix of an external policy by looking at the address
of the output on which playback is active for the given stream
type.
Bug 16009464
Change-Id: Iebbf5a8c738ab36c1cf2055e921c0a3472503125
|
|\ \
| |/
| |
| | |
Change-Id: Ifd30546c11def40ad483f27c9d7baa4008fcbac3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add binder calls to register and unregister dynamic mixes
to AudioPolicyManager.
Bug: 16009464.
Change-Id: I4ef38166d0cfc88c984970969380d0cd6eb083ac
|
|\ \
| |/
| |
| |
| |
| |
| | |
into lmp-mr1-dev
* commit 'c49d9cda49dab8b7dd0376cf56476b3e1895d5c6':
audio policy: add support for custom mixes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for custom mixes in AudioPolicyManager.
Two methods are added to register or unregister a list of custom mixes
with their attributes and format.
getOutputForAttr() and getInputForAttr() first look for a match in
registered mixes before defaulting to normal output/input selection
Remote submix device connection disconnection now takes address into
account to identify the correspnoding custom mix.
Bug: 16009464.
Change-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408
|
|\ \
| |/
| |
| |
| |
| |
| | |
clearAudioPatches()" into lmp-mr1-dev
* commit '427aca5bebaacfd5639b85661689ebd554bd0822':
audio policy: fix inifinite loop in clearAudioPatches()
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
releaseAudioPatch() does not necessarily remove the audio patch
from the list.
Scan the list from the top down to avoid adjusting the index.
Bug: 18621514.
Change-Id: I58787154680f7cb1818509017835b1693d62190f
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
checks" into lmp-mr1-dev
* commit 'a9450bbc6274451bbb4241595d74d6ce9a4160d1':
audio policy: fix AudioPort parameter checks
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Accept any value for sampling rate, format or channel mask
if the list of supported values is empty in the AudioPort.
Bug: 18575607.
Change-Id: I93e1942b89c630e3fee490799a8f8d79f7831ab7
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
got routed to loudspeaker unexpectedly
* commit '94d9177849bb68434d3839a9b0886e09489de7f2':
[FM] Fix Buganizer ID: 18456930 - FM radio audio got routed to loudspeaker unexpectedly
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
unexpectedly
https://partner-android-review.git.corp.google.com/#/c/187894/
Change-Id: I3f9175bbc302e382155e568e66b88400ec05ffa5
Signed-off-by: Hochi Huang <hochi.huang@mediatek.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
prompts to compressed output" into lmp-mr1-dev
* commit '5bf757cfb8b43e5d92be95a8c700e4b7839f6730':
audio policy: do not route accessibility prompts to compressed output
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a digital output (HDMI or S/PDIF) is configured with
a non linear PCM audio format it is likely that the audio HAL
or HW will not be able to mix other sounds with the main
media stream being played.
In this case, do not condider HDMI or S/PDIF as a valid route for
accessibilty strategy so that accessibility prompts are always audible.
Bug: 18067208.
Change-Id: If20603a1dc1dc470f206f841308bed2b87daf21c
|
|\ \
| |/
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| | |
* commit 'fcf39e226ce318ae1e4bc042379aae1ecff560a6':
fix the build.
|
| |
| |
| |
| | |
Change-Id: Iab6b65327ae1adbf0b3a6da5a23b8107468f533e
|
|\ \
| |/
| |
| |
| | |
* commit '1a475921c0577a4650d1bbe40a85b732d1766939':
audio: new routing strategies and stream types
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added new routing strategies and stream type for internal use
by audio policy manager and audio flinger:
- One for accessibility to allow different routing than media
- One for re-routing (remote submix) in preparation of dynamic
policies
- Added stream type for "internal" audio flinger tracks used
for audio patches and duplication.
Bug: 18067208.
Change-Id: I88f884b552e51e4a49c29125e5a1204cf58ff434
|
|\ \
| |/
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
A2DP when suspended." into lmp-mr1-dev
* commit 'bfa77b5c687f217e26267693306aaa6cc8a63672':
audio policy: do not prevent routing to A2DP when suspended.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow A2DP sink selection even if A2DP is suspended.
It is not because use of A2DP is temporarily disabled by SCO
selection that the policy rule routing a given use case
to A2DP should be altered. The source will be routed to A2DP
but it will remain silent until suspend condition is cleared
which is the purpose of suspend mode.
Also make sure that accessibility prompts are audible while in call
by forcing stream type to STREAM_VOICE_CALL.
Fix inconsistent logic between AudioTrack::setStreamTypeFromAttributes()
and AudioPolicyManager::getStrategyForAttr()
Bug: 18095151.
Change-Id: I1c75dd8288ed3dd494eb942060eac9c9660dca50
|
|\ \
| |/
| |
| |
| |
| |
| | |
checkInputsForDevice" into lmp-mr1-dev
* commit '2b456a16ceeffd3d82dca71ce29c6479b8a11bff':
audiopolicy: Update input device check in checkInputsForDevice
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- When an input device is disconnected, checkInputsForDevice clears
dynamic fields of input profiles that are supporting the disconnected
device. AUDIO_DEVICE_BIT_IN mask is missing while comparing with the
supported input devices of a profile which is resulting in clearing
wrong fields
- Fix is to include AUDIO_DEVICE_BIT_IN in this comparison
- also fix two other places where comparison with input device was not
masked with AUDIO_DEVICE_BIT_IN.
Bug: 18367045
Change-Id: Icc94b8353bc49567d8a6d6a75293c3b0dd42d83c
|
|\ \
| | |
| | |
| | | |
Change-Id: If10a9cc17245f95d5e10b1507445abbb4020670e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
to use the new static version.
Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| | |
needed."
* commit '0ef3210f77799b5e0086c7a0f9244aefdf403805':
Include AudioPolicyInterface.h only when needed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for routing audio stream to the speaker when audio
attributes carry the FLAG_BEACON value:
- associate streams with FLAG_BEACON to the up-to-now unused
STREAM_TTS ("Transmitted Through Speaker").
The remapping happens in AudioTrack.
- AudioPolicyManager: define new strategy for handling the Beacon
behavior, that only goes to speaker. Define new volume curves
for STREAM_TTS that are not silence only for the speaker device
category. Keep ref count of other streams and never play Beacon
streams when anything else is playing: either don't start playback
if something else is playing, or unmute STREAM_TTS when it's
allowed to play and mute when it's done.
- Take into account muting latency when starting an output.
Bug 15415971
Change-Id: I26539c7ec1a486accd85bbeb1623e9c7d3a1192f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix return types in early returns added by
commit dea1541f in AudioPolicy binder call methods.
Also fix former similar mistakes found nearby.
Bug: 18001784.
Bug: 18002005.
Change-Id: I088c6029ca04e2c2c2f78e560c9cb6b9576dd88f
|
|\ \
| | |
| | |
| | | |
lmp-mr1-dev
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 18001784.
Bug: 18002005.
Change-Id: I8efa674dceff5a6e10251b1c7a55e9bb2d532395
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Usage of remote submix device for audio rerouting (e.g. wifi display)
didn't mandate the use of addresses. Use "0" as the default address
when none is specificed.
In logs, only use hex format for audio devices
Bug 16009464
Change-Id: Ibfb1ce6881eba8b7e34420293b8a7077a6e659e6
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Make sure that a valid audio patch is created again on an output stream
following the disconneciton and reconnection of the same output device.
Bug: 18144611.
Change-Id: I72387ad8e93f8fb2571da2a6c58a6e167ac7fc4d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Whem multiple devices are selected by a strategy,
apply volume to all these devices when one of them is changed by
setStreamVolumeIndex() API.
Also only consider devices supported by current output profile
in checkDeviceMuteStrategies() to avoid muting a stream because of
devices connected to another output stream.
Bug: 17507571.
Change-Id: I83ef9fb7f294214d30f7f890db44c64ece3be387
|
|\ \
| | |
| | |
| | |
| | | |
* commit '7de5ac1f067ec61f7ea424d5534cfd40987b11fa':
audio policy: fix effect handle leak
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Fix ref counting error in AudioPolicyEffect::addInputEffects()
and addOutputSessionEffects()
Bug: 17675112.
Change-Id: I5267d1024a585919f66ead83662e57b78ba53540
|
|\ \
| |/
| |
| |
| | |
* commit 'a2d4a6dac432f0c4f543d79b9a63c55ae91f81d6':
audio policy: Fix for voice call audio loss
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Review: https://partner-android-review.git.corp.google.com/#/c/184276
Signed-off-by: Carson Liao <carson.liao@mediatek.com>
Change-Id: I0847c8a6e6d054a9258b52402c914105d902c573
|
|\ \
| |/
| |
| |
| |
| |
| | |
ro.audio.media_deep_buffer"" into lmp-dev
* commit '9286354c0a864ce2348cc7dfc6ca81e84a15f8e2':
Revert "audio policy: add support for ro.audio.media_deep_buffer"
|
| |
| |
| |
| |
| |
| | |
This reverts commit 95511add8ad4d440c67272503559f5042c4e6f1f.
Change-Id: I76a8b86790b06b08d8ca0f8d374e585f964ffba8
|