153b9fe667e6e78e0218ff0159353097428c7657 |
|
15-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Make AudioFlinger::instantiate() more resilient when called from separate module Bug: 8834855 Change-Id: I4cd842cdfb09d2aaaaab9df9ac3bec6179709bd3
/frameworks/av/services/audioflinger/Android.mk
|
e762be91c3280d837b1d48455cba90459ced7511 |
|
10-May-2013 |
Mathias Agopian <mathias@google.com> |
make libaudioflinger symbols visibility hidden we export only symbols needed by clients of this library. this saves about 130KB (1/3rd of the lib size) Change-Id: Id81f3ecb299ee3abc0811915cf6efe87180bf15c
/frameworks/av/services/audioflinger/Android.mk
|
da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6 |
|
10-Apr-2013 |
Ying Wang <wangying@google.com> |
Add liblog Bug: 8580410 Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
/frameworks/av/services/audioflinger/Android.mk
|
5c4cc0d99d3b1cb35c5d7c237272ee53142745fb |
|
26-Nov-2012 |
Glenn Kasten <gkasten@google.com> |
Add template class SingleStateQueue Change-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973
/frameworks/av/services/audioflinger/Android.mk
|
46909e7eb074ce1b95b8a411eb71154f53f84f77 |
|
26-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Remove tee sink debugging at compile time Bug: 8223560 Change-Id: Iddbfb06c45d43d9f20bb428215dd4094931e19a7
/frameworks/av/services/audioflinger/Android.mk
|
da6ef1320d0161b1640dc84d7a9c5a25860c3619 |
|
10-Jan-2013 |
Glenn Kasten <gkasten@google.com> |
Update tee sink 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
/frameworks/av/services/audioflinger/Android.mk
|
b3a8364eeea621ef63b983e4c1b0771f62069fe0 |
|
01-Dec-2012 |
Alex Ray <aray@google.com> |
audioflinger: define ANDROID_SMP, remove conditional tracing 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
/frameworks/av/services/audioflinger/Android.mk
|
371eb9756c32109ea572b91216b19bb623f6d3fd |
|
30-Nov-2012 |
Alex Ray <aray@google.com> |
Remove conditional compilation of ATRACE functions Tracing functions are meant to be dynamically controlled via sysprops. Conditional compilation removes this functionality. Change-Id: I26bc473d104d0b3c50a228dddfda3fa2428d157a
/frameworks/av/services/audioflinger/Android.mk
|
81784c37c61b09289654b979567a42bf73cd2b12 |
|
19-Nov-2012 |
Eric Laurent <elaurent@google.com> |
AudioFlinger files reorganization 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
/frameworks/av/services/audioflinger/Android.mk
|
d06785bebf7e43d4a011b62a252771373ada910c |
|
30-Sep-2012 |
Glenn Kasten <gkasten@google.com> |
Save copy of mic input, disabled by default Change-Id: I4f5e95a5ddf016530d1b2747a0a5ca0962caabda
/frameworks/av/services/audioflinger/Android.mk
|
c41590251aa84c078c942d258e838aad814b73a5 |
|
30-Oct-2012 |
Glenn Kasten <gkasten@google.com> |
Remove obsolete references to libmedia_native Bug: 6654403 Change-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd
/frameworks/av/services/audioflinger/Android.mk
|
0fc2cb59d5f77412f5922540d67fea81f4d1744b |
|
21-Oct-2012 |
Mathias Agopian <mathias@google.com> |
a test app for the resamplers Change-Id: I66852d90d384f1d9e77b51ad1a1ebdbaf61d0607
/frameworks/av/services/audioflinger/Android.mk
|
93d0767a8a9ee9d649eea9afac59f778e29a6a54 |
|
26-Oct-2012 |
Mathias Agopian <mathias@google.com> |
reenable the cubic resampler 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
/frameworks/av/services/audioflinger/Android.mk
|
c8823995d16b909fae30ff4f94217e875d3e8c8a |
|
01-Oct-2012 |
ty.lee <ty.lee@lge.com> |
audioflinger/resampler: add build source for libaudio-resampler Bug: 7229644 Change-Id: I93bde36be1c3ec84174a4c98423e28f8b3d8782f Signed-off-by: ty.lee <ty.lee@lge.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/services/audioflinger/Android.mk
|
ac6020508acedd316391dee42329040bf45f8d90 |
|
01-Oct-2012 |
Glenn Kasten <gkasten@google.com> |
Integrate improved coefficient sinc resampler: VHQ 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
/frameworks/av/services/audioflinger/Android.mk
|
087dd8e7232e4c009e9121ab7e8c37985522c9ad |
|
27-Sep-2012 |
Glenn Kasten <gkasten@google.com> |
Disable audio watchdog It's not critical, and is wasting power Bug: 7241714 Change-Id: I6ad4375f0000c92529688723dbe0ff0caa809c5d
/frameworks/av/services/audioflinger/Android.mk
|
76b111685010e1fea7c0a865c038aee35507fde4 |
|
17-Jan-2012 |
SathishKumar Mani <smani@codeaurora.org> |
audioflinger: use resample coefficients from audio-resampler library. -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>
/frameworks/av/services/audioflinger/Android.mk
|
2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0 |
|
29-Aug-2012 |
Glenn Kasten <gkasten@google.com> |
Move libnbaio out of AudioFlinger 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
/frameworks/av/services/audioflinger/Android.mk
|
c1dae24a08b67b98e18e4239d4f3a74d600d353c |
|
03-Jul-2012 |
Glenn Kasten <gkasten@google.com> |
Remove debug code HAVE_REQUEST_PRIORITY and SOAKER Change-Id: I73a2afe72d8acb53e57e6b4e6fb5133e22b7875a
/frameworks/av/services/audioflinger/Android.mk
|
0a14c4ce1a41bc09eb7855fa531a3af629a69139 |
|
13-Jun-2012 |
Glenn Kasten <gkasten@google.com> |
Make CPU frequency statistics optional 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
/frameworks/av/services/audioflinger/Android.mk
|
c15d6657a17d7cef91f800f40d11760e2e7340af |
|
30-May-2012 |
Glenn Kasten <gkasten@google.com> |
Add audio watchdog thread Change-Id: I4ed62087bd6554179abb8258d2da606050e762c0
/frameworks/av/services/audioflinger/Android.mk
|
28ed2f93324988767b5658eba7c1fa781a275183 |
|
07-Jun-2012 |
Glenn Kasten <gkasten@google.com> |
Reduce underruns in screen off, esp. with EQ Add MonoPipe APIs to specify setpoint. Use screen state to configure pipe setpoint. Fix a long-standing bug where pipe sleep time was excessive, which interacted poorly with governor and low clock frequencies. Now it deducts the elapsed time since last write(), which was significant when there was EQ and low clock frequency. Bug: 6618373 Change-Id: I6f3b0072c2244aeb033ef0795ad164491a164ff5
/frameworks/av/services/audioflinger/Android.mk
|
399930859a75d806ce0ef124ac22025ae4ef0549 |
|
31-May-2012 |
Glenn Kasten <gkasten@google.com> |
State queue dump Bug: 6591648 Change-Id: Iac75e5ea64e86640b3d890c46a636641b9733c6d
/frameworks/av/services/audioflinger/Android.mk
|
fbae5dae5187aca9d974cbe15ec818e9c6f56705 |
|
21-May-2012 |
Glenn Kasten <gkasten@google.com> |
Keep a copy of most recent audio played Change-Id: I6b2f97881c39998a2fae9ab79d669af6c0a37e94
/frameworks/av/services/audioflinger/Android.mk
|
99c99d00beb43b939dedc9ffb07adb89f6a85ba5 |
|
15-May-2012 |
Glenn Kasten <gkasten@google.com> |
systrace for audio Trace fast track buffer fill status for underruns etc. Move the definition of macro to Android.mk. No overhead if disabled. Change-Id: If0e83e21b61b059ca38f543f8a6ffb58e08c79ee
/frameworks/av/services/audioflinger/Android.mk
|
1dc28b794587be22c90a97070d928f94586db638 |
|
24-Apr-2012 |
Glenn Kasten <gkasten@google.com> |
Use scheduling policy service Change-Id: I3c09da1dc0de5039d0c15ce7fb2bc373fa398712
/frameworks/av/services/audioflinger/Android.mk
|
58912562617941964939a4182cda71eaeb153d4b |
|
03-Apr-2012 |
Glenn Kasten <gkasten@google.com> |
AudioFlinger normal mixer uses FastMixer Change-Id: I3131bb22d2d057e9197a2ebfa6aa1cfaab9e5321
/frameworks/av/services/audioflinger/Android.mk
|
3acbd053c842e76e1a40fc8a0bf62de87eebf00f |
|
28-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
Configure policy of mediaserver threads Change-Id: Ifd825590ba36996064a458f64453a94b84722cb0
/frameworks/av/services/audioflinger/Android.mk
|
21e8c50bd13ebe44f3088e26c9c6df0e163c469c |
|
12-Apr-2012 |
Glenn Kasten <gkasten@google.com> |
FastMixer update Updates: - Add support for mono fast tracks - Add support for optional sample rate conversion on fast tracks - Log sample rate and frame count - Enable statistics Change-Id: Ife014edf4f452da361f3eaaae19209ef6ff6958b
/frameworks/av/services/audioflinger/Android.mk
|
97b5d0d5b5ef766eb5dd680d05a5d199662d4ae0 |
|
24-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Fast mixer Change-Id: I61552f83507e08e4c706076b9fb15362869e6265
/frameworks/av/services/audioflinger/Android.mk
|
dc998c809e084b617990b281e2ed5271830cc2e0 |
|
24-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Add template class StateQueue Change-Id: Iccc5eb42bc295a22b2e429a4551f083cd7b6831a
/frameworks/av/services/audioflinger/Android.mk
|
010662326b9c43c703725f933e95e0897f8a6bdd |
|
27-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
Non-blocking audio I/O interface, WIP Yet another abstraction similar to AudioTrack::Buffer and AudioBufferProvider, but with support for streaming, non-blocking, and eventually PTS. This is intended to be used as follows: - primary HAL output stream implements a Sink - primary HAL input stream implements a Source - Pipe implements a Sink - PipeReader implements a Source or TimedSource (not shown yet), which supports "read at PTS" - fast AudioTrack on server side will implement a Source using cblk - normal AudioTrack on server side will not be changed initially - fast AudioRecord on server side will implement a Sink using cblk - normal AudioRecord on server side will not be changed initially - fast mixer thread will read from Sources and write to a Sink, or (unlikely) implement a Source and multiple Sinks - Visualization and PCM logger will read from Source or TimedSource - A2DP normal mixer will be connected directly to its output stream and there will be a kind of OutputTrack for duplication that will read from a Sink with non-blocking write fed by the fast mixer. Patch set 3 changes: - Add more implementations of NBAIO interfaces: added SourceAudioBufferProvider, MonoPipe, MonoPipeReader. - Added Format_sampleRate and Format_channelCount. - Extract out the roundUp() method. - Respond to most comments from previous code review. - The new classes are untested. Patch set 4 changes: - Fix bugs in MonoPipe::write() and MonoPipeReader::read() - Fix bug initializing mFrameBitShift too early - renamed roundUp() to roundup() - Fix Android.mk - Add LOG_TAG an LOG_NDEBUG, use ALOG_ASSERT and utils/Log.h instead of assert - Fix build warnings - Move constructor and destructor bodies from .h to .cpp - Line length 100 - Following naming conventions for #include double-include protector macros - Include what you use - More NBAIO logging - MonoPipe write can be blocking Patch set 5 changes: - Address code review comments - Use a static library so unused implementations don't take memory - Comment out libsndfile dependency - Remove debugging LOGV and LOG_NDEBUG Patch set 6 changes (would be 6 at old location, actually 2 at new location): - Address code review comments on patchset 5 - For MonoPipe, allow the full pipe to be used, no need to omit one slot - Don't do atomic releasing stores unless needed Still to do: - I'm not happy with the Pipe class names - Update build/ for new static library? Change-Id: Ie6c61f05ce06b676b033be448a8ef9025a2ffcfd
/frameworks/av/services/audioflinger/Android.mk
|
d12c68ad699ce0ed822a4d4db86e8e02324c6b03 |
|
23-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Revert "AudioFlinger does not need libmedia any more" This reverts commit c920dee060ac69684be33210ee44b99a5fc3e8b2
/frameworks/av/services/audioflinger/Android.mk
|
4f5da11df06802856bf526f16563df7d5755f653 |
|
22-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
AudioFlinger does not need libmedia any more Change-Id: Ifd2c61882109ec36ca68072a2bf6506e08c8cf34
/frameworks/av/services/audioflinger/Android.mk
|
2ee367e444e7b62e02bde8a2e47603a9ad342c6e |
|
20-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Add libmedia_native Change-Id: I3ac357c78fb89f108d15c6e5b9fa317de0e9fb9a
/frameworks/av/services/audioflinger/Android.mk
|
33b383948e8f270bff30378476f00dce289004eb |
|
13-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Remove dependency on audio_* location Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
/frameworks/av/services/audioflinger/Android.mk
|
01c4ebf6b794493898114a502ed36de13137f7e5 |
|
22-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
AudioBufferProvider comments and cleanup Add comments about which methods implement the AudioBufferProvider interface. Simplified the definition of kInvalidPts. <stdint.h> is very hard to work with, there seems to be no way to use it reliably to get INT64_MAX without having a separate source file, which is ugly because it means kInvalidPts is not a compile-time constant. So I just deleted AudioBufferProvider.cpp and used a hard-coded constant instead. Added a default constructor for Buffer so that the fields aren't random (especially .raw which is used to determine if the buffer is valid). Make the pts for getNextBuffer default to kInvalidPTS so code that doesn't need a pts doesn't have to specify a value. Rename the parameter to AudioMixer::setBufferProvider to make it clearer. Change-Id: I87e7290884d4ed975b019f62d1ab6ae2bc5065a5
/frameworks/av/services/audioflinger/Android.mk
|
4ff14bae91075eb274eb1c2975982358946e7e63 |
|
09-Feb-2012 |
John Grossman <johngro@google.com> |
Upintegrate Audio Flinger changes from ICS_AAH Bring in changes to audio flinger made to support timed audio tracks and HW master volume control. Change-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae Signed-off-by: John Grossman <johngro@google.com>
/frameworks/av/services/audioflinger/Android.mk
|
44deb053252a3bd2f57a007ab9560f4924f62394 |
|
06-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
Factor out and speed up permission-checking code Use the caching permission check for dump to save IPC. Cache getpid() to save kernel call for other permission checks. The C runtime library getpid() can't cache due to a fork race condition, but we know that mediaserver doesn't fork. Don't construct String16 on the stack. Change-Id: I6be6161dae5155d39ba6ed6228e7683e67be34ed
/frameworks/av/services/audioflinger/Android.mk
|
cdf2158f3b9498d6cd0eb228d8bee16e32399e16 |
|
02-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
Disable HQ resamplers for now until qualified This saves about 6500 bytes. Change-Id: I87102fe561c95c19c9e615dea3de914f96639257
/frameworks/av/services/audioflinger/Android.mk
|
3b21c50ef95fe4e7ac3426ca14b365749e66ff08 |
|
15-Dec-2011 |
Glenn Kasten <gkasten@google.com> |
Extract out audio DSP code to utility library Change-Id: Ib8ce72028a7ea30e82baa518e381370e820ebbd0
/frameworks/av/services/audioflinger/Android.mk
|
feb0db689c17dced50afaee54c659f1676e2d505 |
|
22-Jul-2011 |
Eric Laurent <elaurent@google.com> |
Fix issue 4604090: notification sound interrupted. The problem is that the audio HAL fails to acquire the wake lock when playing the notification. This is because of a change that removed the mediaserver process form the system group for honeycomb. The fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer wakes up. A consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks anymore as in the past. Change-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5
/frameworks/av/services/audioflinger/Android.mk
|
e0b5bb23f0a26d248275d203885b820659da7320 |
|
16-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Log CPU usage"
|
4d8d0c30abfa4b8d75866d42094cc797e05068fa |
|
09-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Log CPU usage Change-Id: Ie447e59be139153e526b7ad467c46c659d26816f
/frameworks/av/services/audioflinger/Android.mk
|
5e0067b486c3862316aa1f293cf9690c0cf54bda |
|
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
/frameworks/av/services/audioflinger/Android.mk
|
6d8b694d999e9be7d5dcc336535832a80fb6f61f |
|
24-Jun-2011 |
Eric Laurent <elaurent@google.com> |
Moved and renamed effect API header files Moved specific effect header files to system/media/audio_effects/include/audio_effects and renamed to lower case (effect_xxx.h). Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
/frameworks/av/services/audioflinger/Android.mk
|
fce7a473248381cc83a01855f92581077d3c9ee2 |
|
20-Apr-2011 |
Dima Zavin <dima@android.com> |
audio/media: convert to using the audio HAL and new audio defs Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5 Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/services/audioflinger/Android.mk
|
6b80e0be94d3f92ec4aa2b7cace816780d3f338d |
|
20-Apr-2011 |
Dima Zavin <dima@android.com> |
audioflinger: move legacy audio hw/policy out to libhardware_legacy Change-Id: I4adcec73d3c08bcbe15bb19e1ba2ff18b195af45 Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/services/audioflinger/Android.mk
|
db130fbd3ccd37e247e49494a84f8a9841ecd593 |
|
04-Feb-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3366885 Remove LVMX switch Change-Id: I0bf98c6f85f00b3296874571e1c049dcc4e2fcca
/frameworks/av/services/audioflinger/Android.mk
|
65ab47156e1c7dfcd8cc4266253a5ff30219e7f0 |
|
15-Jul-2010 |
Mathias Agopian <mathias@google.com> |
move native services under services/ moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
/frameworks/av/services/audioflinger/Android.mk
|