replicant-frameworks_native/libs/utils
Eric Laurent 15025254eb Fix issue 3302649.
The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.

The fix consists in clearing the thread ID before exiting the thread loop.

Change-Id: I8b5f6a63feeaeb9a01267380e85f6f1456e7aa01
2011-01-12 18:28:25 -08:00
..
tests Split UTF functions from String8/16 2010-11-12 15:53:40 -08:00
Android.mk Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
Asset.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
AssetDir.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
AssetManager.cpp More native work. 2010-08-11 00:29:59 -07:00
BackupData.cpp Turn off most of the backup-related debug logging 2009-09-30 17:07:37 -07:00
BackupHelpers.cpp Better (and less) logging from backup. 2009-06-26 17:19:11 -04:00
BufferedTextOutput.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
CallStack.cpp some work to try to reduce the code size of some native libraries 2009-05-26 16:12:20 -07:00
Debug.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
FileMap.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
Flattenable.cpp remove a dependency of GraphicBuffer (libui) on Parcel (libbinder). 2010-02-21 23:27:25 -08:00
Looper.cpp Switch Looper back to using poll() instead of epoll(). 2010-10-07 13:26:39 -07:00
misc.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
NOTICE auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ObbFile.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
Pool.cpp Native input dispatch rewrite work in progress. 2010-06-13 17:42:16 -07:00
PropertyMap.cpp Add initial support for cursor-based pointing devices. 2010-12-29 13:19:53 -08:00
README auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
RefBase.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ResourceTypes.cpp Split UTF functions from String8/16 2010-11-12 15:53:40 -08:00
SharedBuffer.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Static.cpp checkpoint: split libutils into libutils + libbinder 2009-05-20 12:55:02 -07:00
StopWatch.cpp Native input dispatch rewrite work in progress. 2010-06-13 17:42:16 -07:00
StreamingZipInflater.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
String8.cpp Improve support for external keyboards. 2010-12-02 16:01:32 -08:00
String16.cpp Split UTF functions from String8/16 2010-11-12 15:53:40 -08:00
StringArray.cpp rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file. 2009-06-05 01:26:23 -07:00
SystemClock.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
TextOutput.cpp some work to try to reduce the code size of some native libraries 2009-05-26 16:12:20 -07:00
Threads.cpp Fix issue 3302649. 2011-01-12 18:28:25 -08:00
Timers.cpp get rid of sleepForInterval() which didn't seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there. 2009-05-31 23:45:01 -07:00
Tokenizer.cpp Improve support for external keyboards. 2010-12-02 16:01:32 -08:00
Unicode.cpp Split UTF functions from String8/16 2010-11-12 15:53:40 -08:00
VectorImpl.cpp Even more native input dispatch work in progress. 2010-06-17 13:27:16 -07:00
ZipFileCRO.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
ZipFileRO.cpp Change assets to use 64-bit API 2010-12-08 11:21:30 -08:00
ZipUtils.cpp fix FILE* version of ZipUtils::inflateToBuffer 2009-07-16 11:27:13 -07:00

Android Utility Function Library

If you need a feature that is native to Linux but not present on other
platforms, construct a platform-dependent implementation that shares
the Linux interface.  That way the actual device runs as "light" as
possible.

If that isn't feasible, create a system-independent interface and hide
the details.

The ultimate goal is *not* to create a super-duper platform abstraction
layer.  The goal is to provide an optimized solution for Linux with
reasonable implementations for other platforms.