summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Stagefright: Add Checks for allocationsSathishKumar Mani2015-10-062-0/+4
| | | | | | | | | | | | | | | | | | | | | Warn allocation failures explicitly rather than crash trying to access unallocated memory Change-Id: Ie86c3ac130917e1f4030eb8207ac8350cba7711d
* | | Direct_PCM: add support for effectsvivek mehta2015-10-061-0/+7
| | | | | | | | | | | | | | | | | | - add support for effects on direct pcm output Change-Id: I2fbac63c623bf51a03e5e91828369739d33329f3
* | | audiopolicy: fix for voice call to work on USB headset during concurrencyKarthik Reddy Katta2015-10-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an input stream is active on USB headset and if a voice call is received, the proxy_open() for voice call fails and the screen freezes. All active inputs must be closed before opening input stream for voice call and also all new requests to open input stream must be blocked. Change-Id: I3fb0d482a77495ff6fe9fcdc8a1f8915ade52c9a CRs-fixed: 876993
* | | audiopolicy: port existing fixes to AudioPolicyManagerSatya Krishna Pindiproli2015-10-064-9/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a squashed commit of the following fixes in AudioPolicyManager. Only some parts of the fixes have been ported as the custom audio policy has the other required changes. audiopolicy: Fix MT call delay Change-Id: I790479eaad9d2d6fd4204cc4cb7698761c30f7cf audiopolicy: support extended feature in audiopolicymanager Change-Id: I1925339b591cd29f11a71c287a2e53c0627e9e62 audiopolicy: additional change for extended feature Change-Id: I9bad6a294ddd7aee72f6f6a314666b892b730c8e Change-Id: I7738d4b0ac11ee6d93bfd67e2553eae8518ff719
* | | audio: add support to enable Direct PCM outputvivek mehta2015-10-061-0/+1
| | | | | | | | | | | | | | | | | | allow effects in case outout is direct pcm Change-Id: I2ad7eacf11642a4ca9f892b61124293d0dc503a9
* | | audiopolicy: do not update channelMask for voice input sourceKarthik Reddy Katta2015-10-061-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not needed to update the channel mask based on source because the source is sent to audio HAL through set_parameters() and if source equal to VOICE_CALL does not mean that two channels need to capture. If recorder app selects AMR as encoding format but source as RX+TX means both RX and TX are captured in ONE channel. So use channels set by the app and use source for the type of capture (RX only, TX only, or RX+TX). Change-Id: Iedf23318356480ba939fc06df4ae4f12906322b3
* | | audio: add support for 5.1 channel recordingMingming Yin2015-10-061-0/+1
| | | | | | | | | | | | | | | | | | - Add support for 5.1 channel recording Change-Id: If060fffb2e198f516f40e85390489de2108be5d1
* | | audiopolicy: fix to play 6.1 channel ALAC clipsSharad Sangle2015-10-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For 6.1 channel ALAC clips, the compress offload profile is not found even though the channel mask is defined in the audio_policy.conf file. This is because the channel mask enum is not defined and hence the profile's channel masks are not getting enumerated properly. This change is needed for 6.1 channel ALAC clips playback. Change-Id: I6b820776c0dc6e68a402886f0931439edab24a8b
* | | audio: add support for APE decoding.Sharad Sangle2015-10-062-0/+6
| | | | | | | | | | | | | | | | | | add support for APE decoding Change-Id: I55e8f4b3b87f4bdf1c99774d702506eb7c2f05b5
* | | audio: add support for ALAC decoding.Sharad Sangle2015-10-062-0/+6
| | | | | | | | | | | | | | | | | | | | | add support for decoding/offloading ALAC audio formats Change-Id: Id66f0cb6c140113741962e119148bf434de3d064
* | | audio: add support for WMA offloadSharad Sangle2015-10-062-0/+8
| | | | | | | | | | | | | | | | | | Added WMA as a valid audio format in audio policy Change-Id: Iace14a011ebb89b9deeebd7fe04d0f9b1ab27c9e
* | | audiopolicy: Add PCM offload formatsPreetam Singh Ranawat2015-10-061-0/+2
| | | | | | | | | | | | | | | | | | -add 16 and 24 bit PCM offload formats Change-Id: I23de9b6663be15971c62cba75e2476a503ef4e52
* | | audiopolicy: make audio policy extensibleSharad Sangle2015-10-062-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make function virtual or protected so that they can be extended in custom audio policy also add flag in Android.mk so that proxy device get added in device list when proxy is enabled Change-Id: Ida7992f6b327491fab1f4ea376e85e8eb34b89ca
* | | audio: add support for offload FLACSharad Sangle2015-10-062-0/+8
| | | | | | | | | | | | | | | | | | | | | Add support for FLAC playback in compressed offload mode Change-Id: I617b41b867277272212d6cf1a6f82f646c5b1032
* | | audiopolicy: Add audio proxy device in audio policyYamit Mehta2015-10-061-0/+3
|/ / | | | | | | | | | | Add audio policy for WFD and visualiser usecase. Change-Id: Idf3856a373eb7a05362f19d6cb117e9d4fb757ef
* | audio policy: protect capture from telephony RX path.Eric Laurent2015-08-073-0/+5
|/ | | | | | | | Add permission check if the capture device selected is telephony RX path. Bug: 23017158. Change-Id: Iaa34d836e6cf46b7cbbf2483fcd4306dcd27ce90
* audio policy: populate attributes for attached capture devicesEric Laurent2015-08-061-2/+6
| | | | | | | | | | 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
* Prevent notifications from muting accessibility promptsJean-Michel Trivi2015-07-211-6/+6
| | | | | | | | | | | | | | | 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
* Update Policy PFW plugin makefile for PFW release 2.6.0François Gaffie2015-07-151-6/+1
| | | | | | | | | | | This patch updates the Policy PFW plugin with latest change within PFW. It makes use of the dynamic xmlserializer library and does not need anymore to link against xmlserializer library dependencies. Change-Id: Ic7b912929a69d3906a34999c1ae25ddb9ac800e5 Signed-off-by: François Gaffie <francois.gaffie@intel.com> Bug 246391
* audio: several fixes in audio routing callbacksEric Laurent2015-07-102-4/+10
| | | | | | | | | | | | | | | | | | | | | | - 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
* 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