summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
Commit message (Collapse)AuthorAgeFilesLines
* Use new channel count functions for audio masksAndy Hung2014-05-164-10/+14
| | | | | Change-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3 Signed-off-by: Andy Hung <hunga@google.com>
* Merge "Pull up mFlags and isFastTrack from Track to TrackBase"Glenn Kasten2014-05-145-10/+12
|\
| * Pull up mFlags and isFastTrack from Track to TrackBaseGlenn Kasten2014-05-135-10/+12
| | | | | | | | Change-Id: I6bd48292310be4e05758a11f617f50585904422d
* | Merge "Explicitly include Configuration.h"Glenn Kasten2014-05-132-0/+3
|\ \ | |/
| * Explicitly include Configuration.hGlenn Kasten2014-05-132-0/+3
| | | | | | | | | | | | | | | | Must include Configuration.h in any source file with #ifdef or #if that depends on Configuration.h. This avoid inconsistencies that could result in subtle bugs. Change-Id: I99fdf19d56e7c73de4e7d672b937336b932a2a00
* | Merge "Fix memory corruption if increaseSamplingN is not called"Glenn Kasten2014-05-131-1/+1
|\ \ | |/
| * Fix memory corruption if increaseSamplingN is not calledGlenn Kasten2014-05-131-1/+1
| | | | | | | | Change-Id: Icbf9aaf68c25ba3330ceb79167bd776cf0342d0d
* | AudioFlinger: add specific mutex for client listsEric Laurent2014-05-136-92/+87
|/ | | | | | | | | | | | | Add a specific mutex to protect access to mClients and mNotificationClients lists. This avoids locking the main AudioFlinger mutex from inside thread loops and allows not to worry about cross deadlocks when sending a config event with status reply while keeping the ThreadBase or AudioFlinger mutex locked. As a way of consequence, remove notification client list passed to processConfigEvents_l() and audioConfigChanged() as the list can now be accessed by locking client mutex only. Change-Id: I228022204b6709a8bb60cc96d9514a6ffe59b62e
* Explicitly ignore return value of __futex_syscall3Glenn Kasten2014-05-091-2/+2
| | | | Change-Id: Ic65f257bfc4a0eff7bdd3c44fab68a3f17e2bd08
* Merge "Remove obsolete IAudioRecord::getCblk()"Glenn Kasten2014-05-092-5/+0
|\
| * Remove obsolete IAudioRecord::getCblk()Glenn Kasten2014-05-092-5/+0
| | | | | | | | Change-Id: Id20b5efd765b9796b0e391610e06dc928a829ebf
* | Merge "audioflinger: refactor thread config events"Eric Laurent2014-05-094-384/+436
|\ \ | |/ |/|
| * audioflinger: refactor thread config eventsEric Laurent2014-05-094-384/+436
| | | | | | | | | | | | | | | | | | | | | | Merge config events and set parameters messaging mechanism. - setting parameters now uses the config event mechanism - config event now allow to wait for a condition and synchronize caller binder thread with execution thread and return an execution status. - simplify locking mechanism to avoid unlocking the thread mutex while processing events. Change-Id: Ia49cb3e617abec4bacb6c1f9a8cb304c4ed3902e
* | IAudioFlinger::openRecord returns IMemory(s)Glenn Kasten2014-05-096-12/+47
|/ | | | | | | | openRecord() now explicitly returns the control block and data buffer as separate IMemory references. If the IMemory for data buffer is 0, this means it immediately follows the control block. Change-Id: Ic098f88f0e037f8fbe30006689e18cacacf09d06
* Add a per-thread heap that is read-only to clientsGlenn Kasten2014-05-072-0/+19
| | | | Change-Id: I401263566ca20fbfb565689c8fa99458d3b283b2
* Fix a couple of fast capture typo bugsGlenn Kasten2014-05-071-2/+2
| | | | | | | AudioRecord constructor was not passing flags through to set(). Server-side check was using wrong kind of channel mask. Change-Id: Ifaa880ec323771e9fd168262be05f3e539f53390
* Merge "Use audio_is_linear_pcm()"Glenn Kasten2014-05-051-2/+2
|\
| * Use audio_is_linear_pcm()Glenn Kasten2014-05-021-2/+2
| | | | | | | | Change-Id: I17b30fdb6dbb6454ad0a20dd703fd603a37a8397
* | Fix bug for direct track with PCM != 16-bitGlenn Kasten2014-05-021-4/+2
|/ | | | | | | | | | | | The AUDIO_FORMAT_PCM_8_BIT format was being converted to AUDIO_FORMAT_PCM_16_BIT on client side even for direct tracks. That conversion was incorrect; it should only be done for mixed tracks. Also remove checks for specific PCM formats in the generic part of server side of createTrack. Those format checks should only be done by the thread. This will allow direct tracks for PCM 8-bit, PCM 24-bit, etc. Change-Id: If5b9fd79f8642ed93e2aeabcaf4809b2ed798978
* Start pulling bits of FastMixer up to FastThreadGlenn Kasten2014-04-2811-668/+932
| | | | Change-Id: I4c6f7b8f88fcf107bb29ee6432feecd4ab6554d2
* am 7e5c6351: am 4513aa2c: Merge "AArch64: rewrite audioflinger\'s sinc ↵Glenn Kasten2014-04-241-151/+165
|\ | | | | | | | | | | | | resample by intrinsics." * commit '7e5c635114a7762ad44581300021667a0da97389': AArch64: rewrite audioflinger's sinc resample by intrinsics.
| * am 4513aa2c: Merge "AArch64: rewrite audioflinger\'s sinc resample by ↵Glenn Kasten2014-04-241-151/+165
| |\ | | | | | | | | | | | | | | | | | | intrinsics." * commit '4513aa2cda9e636e4ac675dab9a1353b22e951ae': AArch64: rewrite audioflinger's sinc resample by intrinsics.
| | * Merge "AArch64: rewrite audioflinger's sinc resample by intrinsics."Glenn Kasten2014-04-231-151/+165
| | |\
| | | * AArch64: rewrite audioflinger's sinc resample by intrinsics.Zhongwei Yao2014-04-101-151/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass conformance test on armv7 and aarch64, performance test is done on armv7. Compared with original armv7 assembly version, this version has similar result. Here is performance data on pandaboard android4.4 (input: random wave file, unit: Mspl/s, toolchain:gcc 4.8): | | origin(assembly) | current(intrinsics) | C version | |----------------+------------------+---------------------+-----------| | single channel | 6.17 | 7.14 | 3.43 | | double channel | 5.24 | 5.63 | 3.50 | Change-Id: If5670218e1586e9dfd2b8d9c66a6880f3e4808ca
* | | | am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70dMark Salyzyn2014-04-152-3/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * commit 'e80631aa1992ca50af679cd6a018c0ffda7f9b17': media: use size_t for integer iterator to Vector::size() media: 64 bit compile issues
| * | | am 839d11d1: Merge changes I0a744dc7,Id993a70dMark Salyzyn2014-04-152-3/+3
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | * commit '839d11d1f7be9dff2f06c7d30a9eb39cb6782078': media: use size_t for integer iterator to Vector::size() media: 64 bit compile issues
| | * | media: use size_t for integer iterator to Vector::size()Mark Salyzyn2014-04-152-3/+3
| | |/ | | | | | | | | | Change-Id: I0a744dc7815a86a993df9b0623440be620ec8903
* | | Merge "Improve resampler filter computation speed"Andy Hung2014-04-151-1/+25
|\ \ \
| * | | Improve resampler filter computation speedAndy Hung2014-04-021-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Approximate speed improvement is 10-15% for filter computation, which is floating point intensive. This will be important for devices without hw floating point support. Change-Id: I10b4e778c8d632b52218a777504b092c189e437f Signed-off-by: Andy Hung <hunga@google.com>
* | | | audioflinger: forward device change to effects in direct threadGlenn Kasten2014-04-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device change during offload playback is not informed to effect chain which causes effects still work on unexpected output devices. Add device change notification in direct output thread. Original author wjiang <wjiang@codeaurora.org> CRs-Fixed: 630408 Bug: 14053172 Signed-off-by: Glenn Kasten <gkasten@google.com> Change-Id: I094a99bdf540479cee2fca6614ec35c2fa7d6046
* | | | Update test-resample to handle multichannelAndy Hung2014-04-101-57/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Option -c # specifies number of channels (mono default). Option -s to specify stereo is removed (-c 2 replaces). Option -h to specify WAV header is removed (WAV is now default). Change-Id: Iba4b83806028a8a9c1ddba6f555182d214ef73ff Signed-off-by: Andy Hung <hunga@google.com>
* | | | Add and enable floating point option for audio resamplerAndy Hung2014-04-093-164/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be tested with test-resample. Change-Id: I8339846d7c647444b6025d33cfa145d5d3658121 Signed-off-by: Andy Hung <hunga@google.com>
* | | | Add floating point to audio resample processingAndy Hung2014-04-092-85/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add template type parameters for input, output data type. Minor change in non-NEON mono channel handling. Minor fixup on comments. Change-Id: I7dc9972d130913718b62f32c02d31f99c06682f2 Signed-off-by: Andy Hung <hunga@google.com>
* | | | Add capability for floating point Kaiser window filtersAndy Hung2014-04-081-2/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: Idbb33248bbab2300c2650a4657d8fbc482a5d46c Signed-off-by: Andy Hung <hunga@google.com>
* | | | Update test-resample to handle floating pointAndy Hung2014-04-081-17/+54
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib34d716fbabcd5eb70f8a5ffcf362e242671d916 Signed-off-by: Andy Hung <hunga@google.com>
* | | | Merge "Fix 64-bit build warnings"Glenn Kasten2014-04-081-10/+11
|\ \ \ \
| * | | | Fix 64-bit build warningsGlenn Kasten2014-04-081-10/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I667401522cb4ccd41013e2883a4c75ddeca08ef6
* | | | | Fix regression in FastMixer statisticsGlenn Kasten2014-04-071-0/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At some point, the mSampleRate in FastMixerDumpState stopped being initialized correctly. I'm not sure when this happened, it doesn't seem to be introduced in recent CLs. This lack of initialization caused some of the FastMixer statistics based on sample rate to be useless. Change-Id: Id2a96d606130a90c4c4f1bddd59778f6c6428a9c
* | | | Change references of Q19.12 to Q4.27 for clarityAndy Hung2014-04-025-9/+10
|/ / / | | | | | | | | | | | | Change-Id: I5beb7daf6ff9bc123ff3582f7c294edcaf8652f6 Signed-off-by: Andy Hung <hunga@google.com>
* | | Merge "FastMixer use FastThread and FastMixerState use FastThreadState"Glenn Kasten2014-04-013-18/+13
|\ \ \
| * | | FastMixer use FastThread and FastMixerState use FastThreadStateGlenn Kasten2014-03-313-18/+13
| | | | | | | | | | | | | | | | Change-Id: I594c973e9f575113bdefee6f4cf8c29d8beac1f3
* | | | Merge changes I5748f47d,I3f074933Glenn Kasten2014-04-014-1/+117
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * changes: Add FastThread.h Add FastThreadState
| * | | Add FastThread.hGlenn Kasten2014-03-311-0/+38
| | | | | | | | | | | | | | | | Change-Id: I5748f47dbfa42c14cc93973742e05ac963bf3ba8
| * | | Add FastThreadStateGlenn Kasten2014-03-313-1/+79
| | | | | | | | | | | | | | | | Change-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c
* | | | Add FIXMEs to createRecord for fast captureGlenn Kasten2014-03-312-9/+13
|/ / / | | | | | | | | | Change-Id: I759be200fae32969212c52a409f46f2e704081e3
* | | Merge "Mark the logging heap read-only to media.log service"Glenn Kasten2014-03-281-1/+1
|\ \ \
| * | | Mark the logging heap read-only to media.log serviceGlenn Kasten2014-03-181-1/+1
| | | | | | | | | | | | | | | | Change-Id: Ie26a9e7e37c951774c71d2c53886db52dd5479aa
* | | | Merge "Use symbol AUDIO_IO_HANDLE_NONE from <system/audio.h>"Glenn Kasten2014-03-261-12/+12
|\ \ \ \
| * | | | Use symbol AUDIO_IO_HANDLE_NONE from <system/audio.h>Glenn Kasten2014-03-261-12/+12
| | | | | | | | | | | | | | | | | | | | Change-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff
* | | | | Merge "Use LOG_ALWAYS_FATAL instead of LOG_FATAL"Glenn Kasten2014-03-264-15/+15
|\ \ \ \ \ | |/ / / / |/| | | |