History log of /frameworks/av/services/audioflinger/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8589ce7045fd4f5520aabbc773f00c7136925fd7 09-Sep-2017 Glenn Kasten <gkasten@google.com> Split nblog off from nbaio

nbaio is an acronym for "non-blocking audio I/O", and nblog means
"non-blocking logger" so nblog does not belong with nbaio.

There are a lot of improvements planned for nblog, and having the
restructuring done will make it clearer as more files are added.

Test: builds OK
Change-Id: Ib28bada2566c1d64bdbe9f5d7a5ce40e080178ef
/frameworks/av/services/audioflinger/Android.mk
2ee7aab4a39139a86a24ca14f718eb20a1b355db 25-May-2017 YOUNG HO CHA <ganadist@gmail.com> Android.mk: remove $TOP in LOCAL_C_INCLUDES

Test: make systemimage

Change-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
/frameworks/av/services/audioflinger/Android.mk
fe1e1449cadff4f946c33403aecc73b4b4a11e56 30-Jan-2017 Nicolas Roulet <nicoroulet@google.com> Implemented typed, thread-specific logging system. Currently supported types are:
* Strings
* Integers
* Floats
* Timestamps
* Process IDs

Added printf-like formatted logging using mentioned types.

Test: included in this CL
Bug: 29421410
Change-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990
/frameworks/av/services/audioflinger/Android.mk
068561c8e84569d51df2adbbb53b56fdfd09c06b 04-Jan-2017 Andy Hung <hunga@google.com> AudioFlinger: Split off audio processing library

Test: native AudioResampler test, general playback test
Bug: 31015569
Change-Id: Ifb248f4402a583438d756c014dcd7a4577aef713
/frameworks/av/services/audioflinger/Android.mk
08dab5ae92ddd1f3b337b6e35f918fea8c284a56 07-Dec-2016 Jaekyun Seok <jaekyun@google.com> Use libmedia_helper as shared lib.

The dependencies to static libraries in frameworks should be removed
as many as possible to reduce a size of the system partition.
And that will improve coverage of the VNDK libraries because this
effort might find new necessary shared libs which were linked
statically before.

Size diffs of affected binaries on angler-userdebug build are as
follows.

libmedia : 598056 -> 547928 (-50128)
libstagefright : 1496420 -> 1492124 (-4296)
libaudiopolicyservice : 75372 -> 66940 (-8432)
libaudiopolicymanagerdefault: 613168 -> 583516 (-29652)
libaudioflinger : 397840 -> 364380 (-33460)
libaudiohal : 114752 -> 68684 (-46068)
libaudiopolicyenginedefault : 122096 -> 71968 (-50128)
libmedia_helper : 0 -> 66288 (+66288)

total : (-155876)

Test: building succeeded, and the image was tested on angler.
Bug: 33056637
Change-Id: I00a71e518337a1efcf7f55256145776311596991
/frameworks/av/services/audioflinger/Android.mk
538ec5e04f389cba637b030757be317fcb8677a8 02-Nov-2016 Marco Nelissen <marcone@google.com> Split libmedia into libmedia and libaudioclient

This makes it so audioserver doesn't need to link against the entire libmedia,
which has dependencies on camera, ICU, OpenGL and other things that aren't
needed for audio.

Test: build/boot

Change-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af
/frameworks/av/services/audioflinger/Android.mk
8ad947667b8460f87f71aecab7ac8c23c40f5350 02-Nov-2016 Marco Nelissen <marcone@google.com> Move IMediaLogService to libmedialogservice

So audioserver and libmedialogservice don't have to link against libmedia

Test: build/boot
Change-Id: I4040d9f6db59807c3fa56321d45fb6ab50fb5edb
/frameworks/av/services/audioflinger/Android.mk
3bd1c87ac0d767566f5da387e90b8a3cd86ecc97 26-Sep-2016 rago <rago@google.com> Buffer Log functionality for AudioFlinger

Similar to ALOGV, this allows to capture to file audio samples from
within audioservice for debuggin purposes.

Test: manual. Mostly used for debugging
Change-Id: I4d43f573926805a27be910e343476c3f1be51579
/frameworks/av/services/audioflinger/Android.mk
9fe94012187a29eeeca2c74e75f121192560fba0 14-Oct-2016 Mikhail Naganov <mnaganov@google.com> Split audio effects headers

There can be different use cases with the code that imports
headers from audio_effects (each subsequent case is a more
specialized version of the previous one):

1. The code only needs access to general structures
like effect_descriptor_t:
==> include system/audio_effect.h
Example: AudioSystem in libmedia

2. The code that needs access to effect UUID and parameter
enums:
==> include system/audio_effects/effect_foo.h
Examples: media framework effects interfaces, libwilhelm

3. The code that needs to call into HAL:
==> include hardware/audio_effect.h
Examples: libaudiohal (implementation part) and libeffects

4. The code that implements a particular effect:
==> include audio_effects/effect_foo.h
Examples: cts/.../CTSTestEffect.cpp
stuff in hardware/, vendor/

Note that AudioPolicy still deals with the effects HAL directly,
this needs to be fixed.

Change-Id: I963335ede6a196f9225caf21e1a01d03635e363c
Test: make
/frameworks/av/services/audioflinger/Android.mk
a0c91339814f37ea78365afb436c9f3d1f0a0090 19-Sep-2016 Mikhail Naganov <mnaganov@google.com> Update NBAIO to use the new audio HAL abstraction layer

Moved the HAL access abstraction layer to a separate library so it
can be used both by audioflinger and libnbaio.

Bug: 30222631
Test: manual with Loopback app, Hangouts, YouTube

Change-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be
/frameworks/av/services/audioflinger/Android.mk
1dc98674f701dada94143b4d31b7221c58346c6c 19-Aug-2016 Mikhail Naganov <mnaganov@google.com> Abstract away access to audio streams HAL in AudioFlinger

In this CL all direct access to audio_stream_t, audio_stream_out_t, and
audio_stream_in_t their functions is encapsulated within the new
hierarchy of Stream[In|Out]HalLocal classes. AudioFlinger uses
interface classes Stream[In|Out]HalInterface to access these functions.

Note that NBAIO still receives raw HAL stream handles and needs to be
converted separately.

Bug: 30222631
Test: manual with Loopback app

Change-Id: I6388cfa2006791c9c0aa7bb186719209726a2d48
/frameworks/av/services/audioflinger/Android.mk
681caefc7d3db69952daf1536513070c50b99635 16-Sep-2016 Elliott Hughes <enh@google.com> Merge "Stop including libcore/include/ in frameworks/av." am: adc9ba6520 am: c75164b942 am: 16fbb20e73
am: b58c4e1bbd

Change-Id: Iaf5158ff00eac7f4aff21eb7c3c31d62ec92ee33
b58c4e1bbd4e2420614e1bfe13f885e502301b63 16-Sep-2016 Elliott Hughes <enh@google.com> Merge "Stop including libcore/include/ in frameworks/av." am: adc9ba6520 am: c75164b942
am: 16fbb20e73

Change-Id: I751944e050b849e18c78857f64134ba54d0978eb
fb78341ae3a11b4c0356b393b6163f3e1258d7be 15-Sep-2016 Elliott Hughes <enh@google.com> Stop including libcore/include/ in frameworks/av.

Change-Id: I7c0ffa84071c2080b5bfe2ce9ad7e1822fe863c7
/frameworks/av/services/audioflinger/Android.mk
e4f1f63a2c54ee8687ad8cca18df0f6639ad7c81 31-Aug-2016 Mikhail Naganov <mnaganov@google.com> Abstract away access to audio devices HAL

In this CL all direct access to audio_hw_device_t and its functions is
encapsulated within the new class DeviceHalLocal. Loading of hardware
modules is encapsulated withing DevicesFactoryHalLocal. AudioFlinger
uses interface classes DevicesFactoryHalInterface and DeviceHalInterface
to access these functions.

Bug: 30222631
Change-Id: Ic88b20c55813a24b898f4a832e082c17d81935b7
/frameworks/av/services/audioflinger/Android.mk
598857bdcfc99e8afc597ea815a9b93aa81fe0c4 31-Aug-2016 Andy Hung <hunga@google.com> AudioFlinger: Disable (revert) LockWatch am: deb0335714 am: d8d2728947 am: 5d819b4794
am: 9b7a8f9461

Change-Id: I1840bd725020242337af910ea3f51cd094e3c937
deb0335714cabc906098fb1d971d992027267fc6 29-Aug-2016 Andy Hung <hunga@google.com> AudioFlinger: Disable (revert) LockWatch

Revert "audioflinger: add watchdog on main mutex"
This reverts commit 17a58b2560c38a8e31a38186f9ab6eb98a38e229.

Revert "LockWatch: Update to Mutex::timeLock specs"
This reverts commit 51a6319111df875710dab25a1a99b10d002c4869.

Bug: 30936184
Change-Id: I0f6df6c98c06e161038b1bf0aae5912619cb4066
/frameworks/av/services/audioflinger/Android.mk
4a3d5c23f79189eb7ab9f31c440c7da5b15947a2 15-Aug-2016 Mikhail Naganov <mnaganov@google.com> Abstract away access to audio effects HAL and factory

In this CL all direct calls to functions from EffectsFactoryApi.h
and hardware/audio_effect.h are encapsulated within two new
classes: EffectsFactoryHalLocal and EffectHalLocal. AudioFlinger
uses interface classes EffectsFactoryHalInterface and
EffectHalInterface to access these functions.

Bug: 30222631
Change-Id: Id64b9c5529319077f6f968921489a13f60daa977
/frameworks/av/services/audioflinger/Android.mk
82f5b811b2767289ebb8a9e6af1919c3b72b5121 17-Aug-2016 Eric Laurent <elaurent@google.com> DO NOT MERGE ANYWHERE (nyc-dr1-dev) audioflinger: add watchdog on main mutex

Check every 10 seconds if main audioflinger mutex can be acquired and
trigger audioserver process restart if not.
This will allow to capture tombstones of locked up situations and avoid
the disruption of a system_server restart.

Bug: 30737845
Bug: 30388410
Change-Id: I8a78b8cf813982f70ea598a6d42affc0ecaa76c9
(cherry picked from commit 17a58b2560c38a8e31a38186f9ab6eb98a38e229)
/frameworks/av/services/audioflinger/Android.mk
17a58b2560c38a8e31a38186f9ab6eb98a38e229 17-Aug-2016 Eric Laurent <elaurent@google.com> audioflinger: add watchdog on main mutex

Check every 10 seconds if main audioflinger mutex can be acquired and
trigger audioserver process restart if not.
This will allow to capture tombstones of locked up situations and avoid
the disruption of a system_server restart.

Bug: 30737845
Bug: 30388410
Change-Id: I8a78b8cf813982f70ea598a6d42affc0ecaa76c9
/frameworks/av/services/audioflinger/Android.mk
fcddb0b73931d207b21bd281a7df3ba2f230a607 09-Jul-2016 Glenn Kasten <gkasten@google.com> Enable strict warning checks and fix

Change-Id: Id401a937911eb418e93314812f2f7c2b5ecff8d6
/frameworks/av/services/audioflinger/Android.mk
35fec5f61393124c9e13958941637b8fe386385e 13-Apr-2016 Andy Hung <hunga@google.com> Add memory leak detection to audioserver

adb shell dumpsys media.audio_flinger --unreachable

(userdebug and eng builds)

Bug: 28049120
Change-Id: I72ac624bd5b5482aac44b9f3d8429f657f715cb4
/frameworks/av/services/audioflinger/Android.mk
e875c8016198b4d84225fcf45d905fc424e53553 18-Mar-2016 Glenn Kasten <gkasten@google.com> Make build warnings be errors

Change-Id: Ia9e32a36f5c0268c8e85ebf25168821d8ad0162d
/frameworks/av/services/audioflinger/Android.mk
8fa2697e21c61998f78c346251d2c08f77d720ea 03-Mar-2016 Andy Hung <hunga@google.com> Update audio services for 64 bit compilation

audioserver still runs in 32 bits

Bug: 27479136
Change-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647
/frameworks/av/services/audioflinger/Android.mk
4699a6a4c1fa62cd72dfda7b08573678eabbcfa3 16-Feb-2016 Glenn Kasten <gkasten@google.com> Clean up USE_NEON to make it easier to disable NEON for benchmarking

Bug: 27242871
Change-Id: I30ba8bfe55885cde531706c760ec27e593d7f8b3
/frameworks/av/services/audioflinger/Android.mk
d79072e9dff59f767cce2cda1caab80ce5a0815b 06-Jan-2016 Glenn Kasten <gkasten@google.com> Remove TimedAudioTrack and associated code

Bug: 8278435
Change-Id: I095c1a4888e645e14d93b0b15fbef4524a831ca1
/frameworks/av/services/audioflinger/Android.mk
3f273d10817ddb2f792ae043de692efcdf1988ae 24-Nov-2015 Wei Jia <wjia@google.com> Uses AudioFlinger to signal battery stats for audio.

Bug: 18177221
Change-Id: I704010c037cb99bb74b98798ee8e494fa8bdc875
/frameworks/av/services/audioflinger/Android.mk
f99498ee4de7123e2fd71778c6877be44fbd1506 26-Sep-2015 Eino-Ville Talvala <etalvala@google.com> CameraService: Use SCHED_FIFO for request queue thread in HFR

- 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
/frameworks/av/services/audioflinger/Android.mk
926ac73529a3b1fc614f8e7f1b2ed35564fc51e6 12-May-2015 Chih-Hung Hsieh <chh@google.com> Enable building with clang/llvm.

The llvm bug https://llvm.org/bugs/show_bug.cgi?id=21572 was fixed.

BUG: 18373866
Change-Id: Ia529bf53267f636880515ccefb4ca1cf7d731baf
(cherry picked from commit 7630881d853b130e2c1f11cb2dafebe684bcfa91)
/frameworks/av/services/audioflinger/Android.mk
f097cae65bfce7200938c5bd89e7e9b61cba78b3 13-Apr-2015 Ricardo Garcia <rago@google.com> TimestretchBufferProvider integration with Sonic Library

Using Sonic as backbone for time stretching algorithm.
Adding libsonic to needed makefiles.

bug: 19196501
Change-Id: I1ea9221d2f56e4e79fba8746ce0ad350b5079e82
/frameworks/av/services/audioflinger/Android.mk
857d5a20a956ef61b64ae07b018ecc2f1eb0a503 27-Mar-2015 Andy Hung <hunga@google.com> Factor out buffer provider code from AudioMixer

In preparation for playback rate support and timestretching.

Bug: 19196501
Change-Id: I435accb852d32110dd0b3a9917488522c567ba80
/frameworks/av/services/audioflinger/Android.mk
062e67a26e0553dd142be622821f493df541f0c6 11-Feb-2015 Phil Burk <philburk@google.com> AudioFlinger: call SPDIF wrapper from AudioFlinger

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>
/frameworks/av/services/audioflinger/Android.mk
04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0 18-Feb-2015 Glenn Kasten <gkasten@google.com> Pull out FastCaptureDumpState and FastMixerDumpState

Change-Id: I8e44dbfe02338622eb69193b234743b50f0dd79f
/frameworks/av/services/audioflinger/Android.mk
045ee7ea3e42b8657869d81c917feed5fb0c2b4a 18-Feb-2015 Glenn Kasten <gkasten@google.com> Pull out FastThreadDumpState

Change-Id: Ic99890bbba4f856b65535f3df0f928de9e3e9748
/frameworks/av/services/audioflinger/Android.mk
27a78b56e1cf9814971192883cb7d15c186465f7 07-Jan-2015 Chong Zhang <chz@google.com> am 78c02ddb: am cfa5bf04: Merge "make libserviceutility a shared lib" into 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.
5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a 07-Jan-2015 Chong Zhang <chz@google.com> make libserviceutility a shared lib

so that we have only one getpid_cached in mediaserver process

bug: 18919657

Change-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc
/frameworks/av/services/audioflinger/Android.mk
e40442092efa37619d11685451f7e8e8bde9e79a 19-Nov-2014 Chih-Hung Hsieh <chh@google.com> Merge "Disable clang++ due to compiler error."
1f2f4f26073b6bf979be3a3bb66f84e3e9c4c168 17-Nov-2014 Elliott Hughes <enh@google.com> libcutils no longer requires that its users configure ANDROID_SMP.

Change-Id: Ib91ff0696ab2472c62168eb5261bbda5d22f623e
/frameworks/av/services/audioflinger/Android.mk
42e5a1ebe0b224c07eb96211536a466255b12b81 14-Nov-2014 Chih-Hung Hsieh <chh@google.com> Disable clang++ due to compiler error.

Clang++ chokes on AudioMixer.cpp.
It does not know "how to split this operator."

BUG: 18373866
Change-Id: I3d588d44596c7c3b6f97e5f822545e015b074206
/frameworks/av/services/audioflinger/Android.mk
5e58b0abe5b6c8f5bd96a8f78bbeeeb4d3892020 24-Jun-2014 Andy Hung <hunga@google.com> Add floating point volume handling to AudioMixer

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
/frameworks/av/services/audioflinger/Android.mk
e28456465fca86ed1b8b2225de073cfba64c7c42 01-Jun-2014 Glenn Kasten <gkasten@google.com> Merge "Start adding FastCapture based on FastThread WIP"
1c333e252cbca3337c1bedbc57a005f3b7d23fdb 20-May-2014 Eric Laurent <elaurent@google.com> audioflinger: first patch panel implementation.

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
/frameworks/av/services/audioflinger/Android.mk
f91df1b368a140abd37c80b204bd48d78778cc43 13-Mar-2014 Glenn Kasten <gkasten@google.com> Start adding FastCapture based on FastThread WIP

This version supports at most one fast capture client.

Change-Id: Idf609bfc80ae22433433d66a5232c043c65506df
/frameworks/av/services/audioflinger/Android.mk
2234002b0710c8db73f82d397cb945cd541c6bbb 07-Apr-2014 Glenn Kasten <gkasten@google.com> Start pulling bits of FastMixer up to FastThread

Change-Id: I4c6f7b8f88fcf107bb29ee6432feecd4ab6554d2
/frameworks/av/services/audioflinger/Android.mk
a18f644ce5eb4ab876b343e24ea613566c00058f 19-Mar-2014 Glenn Kasten <gkasten@google.com> Add FastThreadState

Change-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c
/frameworks/av/services/audioflinger/Android.mk
46d1b4ab7e83c677532587c7c8bd46eb8b30fc67 19-Mar-2014 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of f40c4c56 to master

Change-Id: Ifd5385ad42a81e02e6a6afc6281f09fbff361671
ddf887c08b58382920effb7f0b2049e471960b4a 19-Mar-2014 Glenn Kasten <gkasten@android.com> Add libaudioresampler

libaudioresampler is available in both 32-bit and 64-bit,
unlike libaudioflinger which is currently 32-bit only.

Bug: 8141282
Change-Id: I839f7b4e6aaed6984012ca6d514323f927669df6
/frameworks/av/services/audioflinger/Android.mk
314869117d5e3365fc3e43fee01209d18515ca42 18-Mar-2014 Eric Laurent <elaurent@google.com> Merge "move audio policy service to a separate library"
758799cef41fc5495f59eeb6249d02ce9154cde8 14-Mar-2014 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 3c780188 to master

Change-Id: Ic579d346c27ff05ea6444faaa60fa6caaec86fbf
af783aa91f7a279153fb8bab8d0d6b9f737996e9 03-Mar-2014 Glenn Kasten <gkasten@android.com> mediaserver and associated services are 32-bit only

also 32-bit only command-line apps

Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
/frameworks/av/services/audioflinger/Android.mk
c7e5040aa8b8e4da86814bf560346c7571e48087 06-Mar-2014 Eric Laurent <elaurent@google.com> move audio policy service to a separate library

Change-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf
/frameworks/av/services/audioflinger/Android.mk
86eae0e5931103e040ac2cdd023ef5db252e09f6 09-Dec-2013 Andy Hung <hunga@google.com> Audio resampler update to add S16 filters

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>
/frameworks/av/services/audioflinger/Android.mk
f5293648b727fb3909cd2300a73377f032f8b050 17-Dec-2013 Glenn Kasten <gkasten@google.com> Use libsndfile to write .wav files

This will reduce code duplication, and allow us take advantage of more
advanced capabilities of libsndfile in the future.

Change-Id: I25fa2b6d0c21e325aeaf05bda62cf7aab0c5deb4
/frameworks/av/services/audioflinger/Android.mk
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