summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy
Commit message (Collapse)AuthorAgeFilesLines
* audio policy: session route: move SessionRoute to commonFrançois Gaffie2015-07-095-179/+244
| | | | | | | | | | | | 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>
* audio policy: add support for device combo with speaker safeEric Laurent2015-07-072-4/+12
| | | | | | | | | | combo devices with AUDIO_DEVICE_OUT_SPEAKER_SAFE were not supported by audio policy manager causing selection of speaker+headphone when spekaer_safe+headphone would be the right selection. Bug: 21537010. Change-Id: I9865352559c9d32c6754ad3d2b84bddfe2dc8aac
* Merge "audio policy: fix regression in incall notification management" into ↵Eric Laurent2015-07-061-2/+5
|\ | | | | | | mnc-dev
| * audio policy: fix regression in incall notification managementEric Laurent2015-07-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "audio: add definitions for devices connected over IP" into mnc-devEric Laurent2015-07-061-0/+4
|\ \
| * | audio: add definitions for devices connected over IPEric Laurent2015-07-061-0/+4
| |/ | | | | | | | | Bug: 22068684. Change-Id: Idde0eaf7121d2e43f32eee3e6b10e99d8cff4912
* | Fix build warningGlenn Kasten2015-07-061-0/+1
| | | | | | | | Change-Id: I876edc37fb2093ee13c876c2af5c46512763154d
* | audiopolicy: Update flag enum tables for the new flagsRavi Kumar Alamanda2015-07-021-0/+4
|/ | | | | | | | | | Without an entry in sOutputFlagNameToEnumTable or sInputFlagNameToEnumTable, a profile with specific output/input flag in the audio_policy.conf will not be detected by AudioPolicyManager. Bug: 19230391 Change-Id: I94bb3594e2eb8b57747b474a253da3551263c59a
* Merge "reduce number of binder calls from mediaserver" into mnc-devEric Laurent2015-06-272-3/+25
|\
| * reduce number of binder calls from mediaserverEric Laurent2015-06-262-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce the number of audio port, audio patch and IO config changed binder calls from mediaserver to client processes: - Do not call IO config changed callback if selected device is the same as previously selected one on a given audio flinger playback or capture thread. - Do not call the audio port or audo patch list update callback on a client if this client as no listener registered. Bug: 22045560. Change-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423
* | audio policy: fix several device descriptor issues.Eric Laurent2015-06-255-20/+20
|/ | | | | | | | | | | | - 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
* Merge "Fixing no rates, chans & encodings on input devices for device enum ↵Paul McLean2015-06-192-7/+20
|\ | | | | | | API. Filtering digital attributes for non-digital audio devices." into mnc-dev
| * Fixing no rates, chans & encodings on input devices for device enum API.Paul McLean2015-06-192-7/+20
| | | | | | | | | | | | | | | | | | Filtering digital attributes for non-digital audio devices. Bug: 21876072 21903975 Change-Id: Ia5c81a8160f4b4ebf5941dd0c5dfb68d01699ca6
* | Merge "Bug fix on Engine Configurable" into mnc-devEric Laurent2015-06-184-109/+38
|\ \
| * | Bug fix on Engine ConfigurableFrançois Gaffie2015-06-184-109/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a couple of issue within audio policy engine configurable -valgrind error detected within the parsing of the configuration file -configuration file typos -start of the PFW delayed to the init in order to wait the full construction of the engine object -wrong specialization of template functions. -broadcast volume min / max init to stream collection of manager & PFW Change-Id: I08823ab4040c92b719747c60cc3fa5c8b5f172ac Signed-off-by: François Gaffie <francois.gaffie@intel.com>
* | | Merge "Add a configurable version of the policy engine based on PFW" into ↵Eric Laurent2015-06-1863-2/+20495
|\ \ \ | |/ / | | | | | | mnc-dev
| * | Add a configurable version of the policy engine based on PFWFrançois Gaffie2015-06-1863-2/+20495
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a configurable version of the policy engine based on the parameter framework. This configurable engine shall be activated with a flag USE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk This patch provides the generic configuration as an example. This configuration provides the same user experience as the default policy engine. - Fix M Issue on configurable policy engine version. - Remove the "empty static lib include trick" hack The code was using a hack to import headers only through an empty lib. This trick was used not only by the PFW and its plugin but also internally with policy. This patch removes this hack and either links againts the real libraries if exist or point on the path of the header. However, since header directories are not recursively detected on Andoid, we need to manually add all necessary libraries. (for example libicuuc needed by libxml2) - let the build system decide which compiler and which stl is to be used - Disable by default Audio Policy Settings XML file generation at compilation time In order not to depend on python tool for the configurable policy example, this patch adds the generated Settings XML file and disables the generation from .pfw files at compile time. If the user wishes to regenerate it, he may use the pfw_rebuild_settings option. - Fix Clang issues within Configurable Audio Policy Fix compilation issues revealed when switching to CLANG compiler within the configurable version of policy engine. Change-Id: I3edc26db94c0bf8a76430ab8081bae52e9193705 Signed-off-by: François Gaffie <francois.gaffie@intel.com>
* | Merge "audiopolicy: Add AUDIO_OUTPUT_FLAG_TTS to flags enum table" into mnc-devEric Laurent2015-06-181-0/+1
|\ \ | |/ |/|
| * audiopolicy: Add AUDIO_OUTPUT_FLAG_TTS to flags enum tableRavi Kumar Alamanda2015-06-181-0/+1
| | | | | | | | | | | | | | | | Without an entry in sOutputFlagNameToEnumTable, a profile with specific output flag in the audio_policy.conf will not be detected by AudioPolicyManager. Change-Id: Id242e6819aab1a67d72c564f3cc39af3de8e1ef7
* | Merge "audio policy: fix explicit routing and accessibility" into mnc-devEric Laurent2015-06-181-1/+8
|\ \ | |/ |/|
| * audio policy: fix explicit routing and accessibilityEric Laurent2015-06-111-1/+8
| | | | | | | | | | | | | | | | | | 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
* | Merge "audiopolicy: use deep buffer output by default for music streams" ↵Andy Hung2015-06-111-0/+5
|\ \ | |/ |/| | | into mnc-dev
| * audiopolicy: use deep buffer output by default for music streamsRavi Kumar Alamanda2015-06-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "audio policy: route media to BT SCO in call" into mnc-devEric Laurent2015-06-101-0/+4
|\ \ | |/ |/|
| * audio policy: route media to BT SCO in callEric Laurent2015-06-081-0/+4
| | | | | | | | | | | | | | | | | | Allow media (and Navigation instructions) to be routed to BT SCO in call. Bug: 18986190. Change-Id: I1fa4decfbf035623fdcc8681b53cbd61e1d5f933
* | audio policy: fix very verbose log build.Eric Laurent2015-06-081-1/+2
|/ | | | Change-Id: I94a69207059d8010ded14bce5d6e39c3f3074649
* Add property to control audio offload with video contentAndy Hung2015-06-011-2/+3
| | | | | | | Property audio.offload.video normally disabled (set to 1 to enable) Bug: 21198655 Change-Id: Ib1c457b1e3950f18d91b855424aa80bd23c723b0
* Merge "audio policy: add checks on primary output" into mnc-devEric Laurent2015-05-222-30/+47
|\
| * audio policy: add checks on primary outputEric Laurent2015-05-222-30/+47
| | | | | | | | | | | | | | | | | | 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
* | audio policy: fix direct output profile selectionEric Laurent2015-05-191-12/+44
|/ | | | | | | | | | | | | | | | | | 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
* Merge "Update sampling rate to 192kHz for devices" into mnc-devAndy Hung2015-05-122-1/+5
|\
| * Update sampling rate to 192kHz for devicesAndy Hung2015-05-122-1/+5
| | | | | | | | Change-Id: I0a83206be51d7ae18ccf85b94b2127356307be69
* | Merge "Support channel index masks for output hal" into mnc-devAndy Hung2015-05-121-0/+6
|\ \ | |/
| * Support channel index masks for output halAndy Hung2015-05-061-0/+6
| | | | | | | | Change-Id: Ib3e61ff6faf91c71b85102b5d77f90f124c08220
* | audiopolicy: Use AUDIO_OUTPUT_FLAG_TTS for TTS streamRavi Kumar Alamanda2015-05-111-0/+3
| | | | | | | | | | | | | | | | 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
* | Kill a new user of stlport.Dan Albert2015-05-071-2/+0
| | | | | | | | | | | | Bug: http://b/15193147 Change-Id: I20d21a040f0c2c6c291053fe02fdf82e33ed56a0 (cherry picked from commit 1b5a73358b72b8ff1bee05cc44d94b47b73ede44)
* | Merge "audio policy: clarify use of mName field for audio devices" into mnc-devEric Laurent2015-05-075-37/+33
|\ \
| * | audio policy: clarify use of mName field for audio devicesEric Laurent2015-05-065-37/+33
| |/ | | | | | | | | | | | | | | | | | | | | | | 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
* | Make header functions "inline" to avoid warning when unused.Chih-Hung Hsieh2015-05-061-2/+2
|/ | | | | Change-Id: Iefac44f3c0e1c3fd4b19833d9692744100f92e00 (cherry picked from commit 5e9febef197a9852c833a0aedc6bfee179c4ae9e)
* Merge "audio policy: session routes continued." into mnc-devEric Laurent2015-04-308-55/+196
|\
| * audio policy: session routes continued.Eric Laurent2015-04-308-55/+196
| | | | | | | | | | | | | | | | | | | | | | - 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
* | Merge "AudioSystem callback for dynamic policy mix activity" into mnc-devJean-Michel Trivi2015-04-302-4/+6
|\ \
| * | AudioSystem callback for dynamic policy mix activityJean-Michel Trivi2015-04-292-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add method to AudioPolicyServiceClient for dynamic policy mix activity notification. Propagate notification to a dedicated callback. Bug 20226914 Change-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876
* | | Respect the record audio app op - mediaSvet Ganov2015-04-291-3/+3
| |/ |/| | | | | Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
* | Explicit routing in AudioRecordPaul McLean2015-04-286-55/+139
|/ | | | Change-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5
* Revert "Add a configurable version of the policy engine based on PFW"Eric Laurent2015-04-2564-9242/+2
| | | | | | This reverts commit 65c3781db3443531deacecfbda5c7e7e82868a34. Change-Id: Ib61cd70f97c4c4f4b503fb845643627d6896f4f9
* Add a configurable version of the policy engine based on PFWFrançois Gaffie2015-04-2464-2/+9242
| | | | | | | | | | | | | | This patch adds a configurable version of the policy engine based on the parameter framework. This configurable engine shall be activated with a flag USE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk This patch provides the generic configuration as an example. This configuration provides the same user experience as the default policy engine. Change-Id: Ic8217333ae370b89bfdd2ad11320c5f14ea4da34 Signed-off-by: François Gaffie <francois.gaffie@intel.com>
* Merge "AudioPolicyManager: notification of dynamic policy mix activity (input)"Jean-Michel Trivi2015-04-241-0/+13
|\
| * AudioPolicyManager: notification of dynamic policy mix activity (input)Jean-Michel Trivi2015-04-211-0/+13
| | | | | | | | | | | | | | | | | | Use ref counting on start/stop inputs to notify audio policy client of mix activity changes. Bug 20226914 Change-Id: Ic4f9c91301d0bcbc0ff749acebdc3b2300309c38
* | Fix format sorting order in AudioPortAndy Hung2015-04-232-12/+22
| | | | | | | | | | | | | | Otherwise AUDIO_FORMAT_DEFAULT (used for dynamic formats) is no longer the first entry. Change-Id: I23869a9ca2ed138759d722e7c9838497f640921a