summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Android.mk
Commit message (Collapse)AuthorAgeFilesLines
* audioflinger: Compile 192k resampler for 32 bit environmentRamjee Singh2016-04-131-2/+9
| | | | | | | | Current makefile compiles the resampler only for 64 bit environment. Allow compilation for 32 bit environment as well. CRs-Fixed: 735776 Change-Id: I626725551af73fc5ea98a7dbf87cacea9dbbc0ef
* Combine 'DTS Sound (TruMedia) Postpro support in frameworks/av for Android ↵jinamdar2016-02-011-0/+25
| | | | | | | | | | | | | 6.0' as a single patch. Signed-off-by: jinamdar <jaydeep.inamdar@dts.com> (cherry picked from commit d3668da66643d4cc39058fb65c8db0742748f70f) Conflicts: services/audioflinger/AudioFlinger.cpp services/audioflinger/Threads.cpp Change-Id: I67e3ba100ff40058919ba827b806aea7bdbaf4bb
* Merge tag 'android-6.0.0_r26' into cm-13.0Ricardo Cerqueira2015-11-051-13/+2
|\ | | | | | | | | | | Android 6.0.0 release 26 Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda
| * CameraService: Use SCHED_FIFO for request queue thread in HFREino-Ville Talvala2015-09-261-13/+2
| | | | | | | | | | | | | | | | | | | | - Move SchedulingPolicyService from audioservice to mediautils - When starting up a high speed stream config, set request queue thread to SCHED_FIFO using SchedulingPolicyService Bug: 24227252 Change-Id: I224b59142bd111caf563779f55cddd62385b9bac
* | audio: Audio resampler support for 192Khz playbackYamit Mehta2015-10-061-1/+21
|/ | | | | | | | | | | | | | | | | | | | | Add support for QTI audio resampler audio: Audio resampler support for 192Khz playback Change-Id: Ia8f24a0874ebf6e16ef7bd1f2759a14f47149875 audio: Add audio mixing support for qti resampler Change-Id: Ib657aa12b2a72323564148c302ff8891e1bb7433 AudioMixer: Extend use of QTI resampler for 44.1Khz sampling rate Change-Id: I2a819dbc9f1e3e280cb4fa79328e331883a3e981 AudioMixer: fill 0s at right place when no more buffers available Change-Id: I50504c5a02eb0c69abfc9b047792b0f6f85b9ce8 audioflinger: add channel count check to use QTI resampler Change-Id: I8f76dd82b72a0dd8b77343e77e0d0545e1be2114 Change-Id: Ia8f24a0874ebf6e16ef7bd1f2759a14f47149875
* Enable building with clang/llvm.Chih-Hung Hsieh2015-05-151-6/+0
| | | | | | | | The llvm bug https://llvm.org/bugs/show_bug.cgi?id=21572 was fixed. BUG: 18373866 Change-Id: Ia529bf53267f636880515ccefb4ca1cf7d731baf (cherry picked from commit 7630881d853b130e2c1f11cb2dafebe684bcfa91)
* TimestretchBufferProvider integration with Sonic LibraryRicardo Garcia2015-04-131-1/+3
| | | | | | | | Using Sonic as backbone for time stretching algorithm. Adding libsonic to needed makefiles. bug: 19196501 Change-Id: I1ea9221d2f56e4e79fba8746ce0ad350b5079e82
* Factor out buffer provider code from AudioMixerAndy Hung2015-04-081-3/+3
| | | | | | | In preparation for playback rate support and timestretching. Bug: 19196501 Change-Id: I435accb852d32110dd0b3a9917488522c567ba80
* AudioFlinger: call SPDIF wrapper from AudioFlingerPhil Burk2015-03-241-0/+4
| | | | | | | | | | | | | Create an interface layer between the AudioFlinger and the HAL that manages the wrapping and format conversion. Removed unnecessary includes. Handle rate conversion in getRenderPosition(). Try to open HAL with encoded format before wrapping with SPDIF. Bug: 17566660 Change-Id: I00ad888ca15ff0f85b85efb8167c7f5ea761a244 Signed-off-by: Phil Burk <philburk@google.com>
* Pull out FastCaptureDumpState and FastMixerDumpStateGlenn Kasten2015-02-191-0/+2
| | | | Change-Id: I8e44dbfe02338622eb69193b234743b50f0dd79f
* Pull out FastThreadDumpStateGlenn Kasten2015-02-171-3/+9
| | | | Change-Id: Ic99890bbba4f856b65535f3df0f928de9e3e9748
* am 78c02ddb: am cfa5bf04: Merge "make libserviceutility a shared lib" into ↵Chong Zhang2015-01-071-4/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev * commit '78c02ddb6bf0d676160244a62c11dceb68301b73': make libserviceutility a shared lib audio policy: fix remote mic capture audio policy: suppport for dynamic source Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions Fix race condition in signaling completion for decode. AnotherPacketSource: need reset some members before returning from queueDiscontinuity(). Fix looping sound playback AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.
| * make libserviceutility a shared libChong Zhang2015-01-071-4/+10
| | | | | | | | | | | | | | | | so that we have only one getpid_cached in mediaserver process bug: 18919657 Change-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc
* | Merge "Disable clang++ due to compiler error."Chih-Hung Hsieh2014-11-181-0/+6
|\ \
| * | Disable clang++ due to compiler error.Chih-Hung Hsieh2014-11-141-0/+6
| |/ | | | | | | | | | | | | | | Clang++ chokes on AudioMixer.cpp. It does not know "how to split this operator." BUG: 18373866 Change-Id: I3d588d44596c7c3b6f97e5f822545e015b074206
* | libcutils no longer requires that its users configure ANDROID_SMP.Elliott Hughes2014-11-171-7/+0
|/ | | | Change-Id: Ib91ff0696ab2472c62168eb5261bbda5d22f623e
* Add floating point volume handling to AudioMixerAndy Hung2014-07-081-0/+3
| | | | | | | | | | | | | | | Use floating point volume in AudioMixer mixing when floating point input is used with the new mixer engine. AudioResampler is updated to take floating point volume to match. Both legacy integer and floating point mixer engines work. For now, integer volume is used when the new mixer engine runs in integer input mode, for backward compatibility with the legacy mixer. The new mixer engine will generally run in floating point input mode. When the legacy path is removed, the integer volumes will be removed. Change-Id: I79e80c292ae7c8b8bdd0aa371a1b2c3a1b618290
* Merge "Start adding FastCapture based on FastThread WIP"Glenn Kasten2014-06-011-0/+1
|\
| * Start adding FastCapture based on FastThread WIPGlenn Kasten2014-05-221-0/+1
| | | | | | | | | | | | This version supports at most one fast capture client. Change-Id: Idf609bfc80ae22433433d66a5232c043c65506df
* | audioflinger: first patch panel implementation.Eric Laurent2014-05-271-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | Added a new PatchPanel subclass to AudioFlinger to handle audio ports and audio patches configuration and connection. The first implementation does not add new functionnality. AudioPolicyManager uses patch panel interface to control device routing. AudioFlinger: - Added PatchPanel class. The first implementation does not add new functionnality. PatchPanel handles routing commands for audio HAL after 3.0 or converts to setParameters for audio HALs before 3.0. - Added config events to ThreadBase to control synchronized audio patch connection. AudioPolicyManager: - Use PatchPanel API to control device selection isntead of setParameters. - New base class AudioPort common to audio device descriptors and input output stream profiles. This class is RefBase and groups attributes common to audio ports. - Use same device selection flow for input as for outputs: getNewInputDevice -> getDeviceForInptusiource -> setInputDevice Change-Id: Idaa5a883b19a45816651c58cac697640dc717cd9
* Start pulling bits of FastMixer up to FastThreadGlenn Kasten2014-04-281-1/+2
| | | | Change-Id: I4c6f7b8f88fcf107bb29ee6432feecd4ab6554d2
* Add FastThreadStateGlenn Kasten2014-03-311-1/+1
| | | | Change-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c
* resolved conflicts for merge of f40c4c56 to masterGlenn Kasten2014-03-191-9/+19
|\ | | | | | | Change-Id: Ifd5385ad42a81e02e6a6afc6281f09fbff361671
| * Add libaudioresamplerGlenn Kasten2014-03-191-11/+18
| | | | | | | | | | | | | | | | libaudioresampler is available in both 32-bit and 64-bit, unlike libaudioflinger which is currently 32-bit only. Bug: 8141282 Change-Id: I839f7b4e6aaed6984012ca6d514323f927669df6
* | Merge "move audio policy service to a separate library"Eric Laurent2014-03-181-3/+13
|\ \
| * | move audio policy service to a separate libraryEric Laurent2014-03-111-3/+13
| | | | | | | | | | | | Change-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf
* | | resolved conflicts for merge of 3c780188 to masterGlenn Kasten2014-03-141-0/+1
|\ \ \ | |/ / |/| / | |/ Change-Id: Ic579d346c27ff05ea6444faaa60fa6caaec86fbf
| * mediaserver and associated services are 32-bit onlyGlenn Kasten2014-03-121-0/+1
| | | | | | | | | | | | also 32-bit only command-line apps Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
* | Audio resampler update to add S16 filtersAndy Hung2013-12-271-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | This does not affect the existing resamplers. New resampler accessed through additional quality settings: DYN_LOW_QUALITY = 5 DYN_MED_QUALITY = 6 DYN_HIGH_QUALITY = 7 Change-Id: Iebbd31871e808a4a6dee3f3abfd7e9dcf77c48e1 Signed-off-by: Andy Hung <hunga@google.com>
* | Use libsndfile to write .wav filesGlenn Kasten2013-12-171-0/+7
|/ | | | | | | This will reduce code duplication, and allow us take advantage of more advanced capabilities of libsndfile in the future. Change-Id: I25fa2b6d0c21e325aeaf05bda62cf7aab0c5deb4
* Make AudioFlinger::instantiate() more resilient when called from separate moduleGlenn Kasten2013-07-191-18/+1
| | | | | Bug: 8834855 Change-Id: I4cd842cdfb09d2aaaaab9df9ac3bec6179709bd3
* make libaudioflinger symbols visibility hiddenMathias Agopian2013-05-091-0/+2
| | | | | | | we export only symbols needed by clients of this library. this saves about 130KB (1/3rd of the lib size) Change-Id: Id81f3ecb299ee3abc0811915cf6efe87180bf15c
* Add liblogYing Wang2013-04-091-3/+5
| | | | | Bug: 8580410 Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
* Add template class SingleStateQueueGlenn Kasten2013-03-051-1/+0
| | | | Change-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973
* Remove tee sink debugging at compile timeGlenn Kasten2013-02-261-0/+3
| | | | | Bug: 8223560 Change-Id: Iddbfb06c45d43d9f20bb428215dd4094931e19a7
* Update tee sinkGlenn Kasten2013-02-221-8/+0
| | | | | | | | | | Implement rotation to reduce long-term storage use. Implement optional per-track tee. Dynamically enable at runtime based on property, instead of at compile-time. Dynamic frame count not yet implemented. Bug: 8223560 Change-Id: I3706443c6ec0cb0c6656dc288715a02ad5fea63a
* audioflinger: define ANDROID_SMP, remove conditional tracingAlex Ray2012-11-301-0/+7
| | | | | | | | With ANDROID_SMP set, tracing functionality is completely inline, and without the performance hits of external library calls, tracing does not need to be conditionally compiled. Change-Id: I4b29a9a52c403f0d2ea137c5b7bc05a518a7ca4b
* Remove conditional compilation of ATRACE functionsAlex Ray2012-11-301-3/+0
| | | | | | | Tracing functions are meant to be dynamically controlled via sysprops. Conditional compilation removes this functionality. Change-Id: I26bc473d104d0b3c50a228dddfda3fa2428d157a
* AudioFlinger files reorganizationEric Laurent2012-11-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Audioflinger.cpp and Audioflinger.h files must be split to improve readability and maintainability. This CL splits the files as follows: AudioFlinger.cpp split into: - AudioFlinger.cpp: implementation of IAudioflinger interface and global methods - AFThreads.cpp: implementation of ThreadBase, PlaybackThread, MixerThread, DuplicatingThread, DirectOutputThread and RecordThread. - AFTracks.cpp: implementation of TrackBase, Track, TimedTrack, OutputTrack, RecordTrack, TrackHandle and RecordHandle. - AFEffects.cpp: implementation of EffectModule, EffectChain and EffectHandle. AudioFlinger.h is modified by inline inclusion of header files containing the declaration of complex inner classes: - AFThreads.h: ThreadBase, PlaybackThread, MixerThread, DuplicatingThread, DirectOutputThread and RecordThread - AFEffects.h: EffectModule, EffectChain and EffectHandle AFThreads.h includes the follownig headers inline: - AFTrackBase.h: TrackBase - AFPlaybackTracks: Track, TimedTrack, OutputTrack - AFRecordTracks: RecordTrack Change-Id: I512ebc3a51813ab7a4afccc9a538b18125165c4c
* Save copy of mic input, disabled by defaultGlenn Kasten2012-11-011-0/+4
| | | | Change-Id: I4f5e95a5ddf016530d1b2747a0a5ca0962caabda
* Remove obsolete references to libmedia_nativeGlenn Kasten2012-10-301-2/+0
| | | | | Bug: 6654403 Change-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd
* a test app for the resamplersMathias Agopian2012-10-261-0/+23
| | | | Change-Id: I66852d90d384f1d9e77b51ad1a1ebdbaf61d0607
* reenable the cubic resamplerMathias Agopian2012-10-261-3/+1
| | | | | | | | | | | | | cubic resampler was disabled because it hadn't been qualified, however after I did some tests, it does improve significantly the sound quality over the order-1 resampler, even if it is still quite bad. also HIGH_QUALITY resampler was partially disabled, it's now fully enabled. It's a big improvement over the cubic resampler in terms of aliasing noise (it's not as good in the pass-band). Change-Id: I70e3658c255896588642697be9eb594ff4ec0f8b
* audioflinger/resampler: add build source for libaudio-resamplerty.lee2012-10-071-0/+2
| | | | | | | Bug: 7229644 Change-Id: I93bde36be1c3ec84174a4c98423e28f8b3d8782f Signed-off-by: ty.lee <ty.lee@lge.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* Integrate improved coefficient sinc resampler: VHQGlenn Kasten2012-10-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Very high quality is enabled only for 44.1 -> 48 or 48 -> 44.1, and uses low quality for all other use cases. Track estimated CPU load and throttles the quality based on load; as currently configured it should allow up to 2 instances of very high quality. Medium quality and high quality are currently disabled unless explicitly requested. Details: Only load .so the first time it is needed. Cleanup code style: formatting, indentation, whitespace. Restore medium quality resampler, but it is not used (see next line). Fix memory leak for sinc resampler. Check sample rate in resampler constructor. Add logs for debugging. Rename DEFAULT to DEFAULT_QUALITY for consistency with other quality levels. Renumber VERY_HIGH_QUALITY from 255 to 4. Use enum src_quality consistently. Improve parsing of property af.resampler.quality. Fix reentrancy bug - allow an instance of high quality and an instance of very high quality to both be active concurrently. Bug: 7229644 Change-Id: I0ce6b913b05038889f50462a38830b61a602a9f7
* Disable audio watchdogGlenn Kasten2012-09-301-2/+2
| | | | | | | It's not critical, and is wasting power Bug: 7241714 Change-Id: I6ad4375f0000c92529688723dbe0ff0caa809c5d
* audioflinger: use resample coefficients from audio-resampler library.SathishKumar Mani2012-09-261-2/+2
| | | | | | | | | | | -Add a separate quality VERY_HIGH_QUALITY in resampler -Use resample coefficients audio-resampler library for quality VERY_HIGH_QUALITY. -This improves the quality of resampled output. Bug: 7024293 Change-Id: Ia44142413bed5f5963d7eab7846eec877a2415e4 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Move libnbaio out of AudioFlingerGlenn Kasten2012-08-301-27/+1
| | | | | | | | | | libnbaio is now a separate shared library from AudioFlinger, rather than a static library used only by AudioFlinger. AudioBufferProvider interface is now also independent of AudioFlinger, moved to include/media/ Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
* Remove debug code HAVE_REQUEST_PRIORITY and SOAKERGlenn Kasten2012-07-031-1/+1
| | | | Change-Id: I73a2afe72d8acb53e57e6b4e6fb5133e22b7875a
* Make CPU frequency statistics optionalGlenn Kasten2012-06-141-0/+3
| | | | | | | | | | Certain CPUs with dynamic cluster swapping and hotplug don't report CPU frequency accurately. The file descriptors used to read the frequency become stale and report bogus data. So make this feature a build time option for debugging only. This will also improve performance of the fast mixer loop. Change-Id: I602f81ec3281a37992769208be08084ed1469e8c