summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
Commit message (Collapse)AuthorAgeFilesLines
* 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
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Use LOG_ALWAYS_FATAL instead of LOG_FATALGlenn Kasten2014-03-264-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LOG_FATAL is compiled out in most builds, so the assertion checks were not being performed. Change-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35
* | | | | Merge "Use symbolic constants from <system/audio.h>"Glenn Kasten2014-03-261-1/+1
|\ \ \ \ \
| * | | | | Use symbolic constants from <system/audio.h>Glenn Kasten2014-03-251-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AUDIO_INTERLEAVE_* AUDIO_STREAM_MIN AUDIO_SESSION_ALLOCATE Change-Id: I31dd6f327204685e50716079ce21c4ba206dff11
* | | | | Merge "Use symbol AUDIO_DEVICE_NONE from <system/audio.h>"Glenn Kasten2014-03-261-2/+2
|\ \ \ \ \
| * | | | | Use symbol AUDIO_DEVICE_NONE from <system/audio.h>Glenn Kasten2014-03-251-2/+2
| |/ / / / | | | | | | | | | | | | | | | Change-Id: I61f882c5e7c949bf00d3bfc745ebf3b5e1c42a58
* | | | | Merge "Fix uses of KeyedVector"Glenn Kasten2014-03-261-0/+1
|\ \ \ \ \
| * | | | | Fix uses of KeyedVectorGlenn Kasten2014-03-251-0/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Constructor for AudioFlinger::mAudioHwDevs was missing, and so AudioFlinger::findSuitableHwDev_l() could return an undefined pointer if a non-0 module wasn't found. A KeyedVector of Plain Old Data (POD) element type must specify the default value in the constructor, or else the default will be undefined. Minor: - Parameter had wrong type in constructor for AudioSystem::gOutputs. - Remove obsolete AudioSystem::gStreamOutputMap. Change-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b
* | | | | Document AudioFlinger::nextUniqueId()Glenn Kasten2014-03-252-2/+13
|/ / / / | | | | | | | | | | | | Change-Id: Iafe96f1c10bd85cb23a2553945ca68aa601dc2eb
* | | | resolved conflicts for merge of f40c4c56 to masterGlenn Kasten2014-03-191-9/+19
|\ \ \ \ | | |/ / | |/| | | | | | Change-Id: Ifd5385ad42a81e02e6a6afc6281f09fbff361671
| * | | am 36817364: Merge "Add libaudioresampler"Glenn Kasten2014-03-191-11/+18
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit '36817364738d4c45adc3e448fbec02a9611bfeda': Add libaudioresampler
| | * | 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
| * | | am 77658a06: Merge "AudioPolicyService: malloc/delete pair"Glenn Kasten2014-03-181-1/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '77658a069c81a0d5b4a1b81443b470a3ea64cab0': AudioPolicyService: malloc/delete pair
| | * | Merge "AudioPolicyService: malloc/delete pair"Glenn Kasten2014-03-181-1/+1
| | |\ \
| | | * | AudioPolicyService: malloc/delete pairYou Kim2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I75cd44ac0caccda9148faaa052c9e7a0c06d46d1 Signed-off-by: You Kim <you.kim72@gmail.com>
* | | | | audioflinger: OffloadThread fix for resume underrunHaynes Mathew George2014-03-172-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioFlinger can miss resuming h/w on a pause->resume transition if sufficient data isn't available Bug: 11358524. Change-Id: Ic3c75256290d3515fd4a96dfcc900909fbe5bc15
* | | | | AudioFlinger: Change track ready condition in STOPPING_1 stateEric Laurent2014-03-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set FS_FILLED only if framesReady() > 0 Change-Id: Ibb1d2e988ff17fcf3a7ab61031a3f85df82f18d5
* | | | | audioflinger: Handle pause /resume in stopping stateKrishnankutty Kolathappilly2014-03-173-4/+37
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Pre-requisite: Perform seek on the clip. After seek the data remaining till EOS is little more than the driver and common block buffering. -Framework state: Offload thread is waiting for signal from the HAL for a free buffer. Audio Player calls sink stop on reaching EOS. Audio track is waiting on obtain buffer for a free space in common block to send the last buffer. The track is moved to stopping state as input EOS is reached. -Issue: Perform pause/ resume in this state(STOPPING), Audio playback does not resume. -Fix Ensure resume is called in stopping state if frames ready is greater than zero. Bug: 12870871 Change-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804 Signed-off-by: Glenn Kasten <gkasten@google.com>
* | | | Merge "move audio policy service to a separate library"Eric Laurent2014-03-183-2051/+13
|\ \ \ \