summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Remove the redundant parameters from createTrack_l()Glenn Kasten2014-01-241-7/+1
| | | | | | | | | | AudioRecord::openRecord_l() code was refactored earlier to remove the redundant parameters: > Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2 This changelist refactors AudioTrack similarly. Change-Id: Iefd2bd662870ea81d04eff7b7c26f9c8b0dadd26
* Refactor code related to I/O handles to reduce chance for leaksGlenn Kasten2014-01-242-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | The AudioRecord input handle code was refactored earlier to fix a potential handle leak, and to simplify the code: > Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2 This changelist refactors AudioTrack similarly, and adds further cleanup of both AudioTrack and AudioRecord. We attempt to implement the rules for referencing counting I/O handles, but there is still the possibility of a handle leak if the client process dies after allocating the handle reference but before releasing it. That issue is being tracked separately. Details: - AudioSystem::getOutput() is now called within createTrack_l - restoreTrack_l was missing offload info now it has the info available, but is not yet being called for offloaded tracks - AudioTrack::getOutput() is now const - Remove getOutput_l() Change-Id: I44a0a623d24fc5847bcac0939c276400568adbca
* Merge "Replace control block frameCount_ by explicit in/out parameter"Glenn Kasten2014-01-242-7/+3
|\
| * Replace control block frameCount_ by explicit in/out parameterGlenn Kasten2013-12-202-7/+3
| | | | | | | | | | | | in IAudioFlinger::createTrack and IAudioFlinger::openRecord Change-Id: I09c644c80e92c8e744b1b99055988a2588b2a83d
* | Merge "Use uint32_t sequence numbers for IAudioRecord"Glenn Kasten2014-01-171-1/+1
|\ \
| * | Use uint32_t sequence numbers for IAudioRecordGlenn Kasten2014-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it the same as for IAudioTrack. Previously we had a mix of int, int32_t and uint32_t, which could cause comparisons to fail. Change-Id: Ic72ef650ee81f65db11e42ed16d818fdf3e310f4
* | | Merge "Document the reference count rules for I/O handles"Glenn Kasten2014-01-172-0/+15
|\ \ \
| * | | Document the reference count rules for I/O handlesGlenn Kasten2014-01-162-0/+15
| | | | | | | | | | | | | | | | Change-Id: Ia7cd27ad84bbd7bf2657011057f89386f938a807
* | | | Merge "Make copy of audio_offload_info_t for future use"Glenn Kasten2014-01-171-0/+3
|\ \ \ \ | |/ / /
| * | | Make copy of audio_offload_info_t for future useGlenn Kasten2014-01-161-0/+3
| | | | | | | | | | | | | | | | Change-Id: I515970aa0660418d5d1640fb1bf477e112c89bdd
* | | | am 6146f60c: am 319c5640: am 07a017d3: Merge "Added support for ID3v2 meta ↵Marco Nelissen2014-01-171-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | data in 3gp files" * commit '6146f60c87a8a9c66036325c66dea826d2e98f6f': Added support for ID3v2 meta data in 3gp files
| * \ \ \ am 07a017d3: Merge "Added support for ID3v2 meta data in 3gp files"Marco Nelissen2014-01-171-0/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit '07a017d3ff9cb36e47649a9de28e469415eb8103': Added support for ID3v2 meta data in 3gp files
| | * | | | Added support for ID3v2 meta data in 3gp filesOscar Rydhé2014-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for parsing ID3v2 meta data from the ID32 chunk in 3gp files. The priority will be 3gpp -> ID3v2 -> iTunes per field. Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
* | | | | | Merge "Move up initialization of mFormat, mStreamType, and mSharedBuffer ↵Glenn Kasten2014-01-171-1/+1
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | earlier"
| * | | | | Move up initialization of mFormat, mStreamType, and mSharedBuffer earlierGlenn Kasten2014-01-161-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow removal of most of the parameter list to createTrack_l. Also check for valid stream type at client so we can log a better error message. Change-Id: Ia7176896d47fbb49106119fca26d9de8e7efe859
* | | | | Merge "AudioRecord::getInputFramesLost() cleanup"Glenn Kasten2014-01-173-3/+5
|\ \ \ \ \
| * | | | | AudioRecord::getInputFramesLost() cleanupGlenn Kasten2014-01-143-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug that if the binder call failed (for example if the IAudioFlinger binder is dead), then getInputFramesLost was returning garbage. Now it correctly returns zero, which is the error value for this method. The type declarations for getInputFramesLost were inconsistent: a mixture of unsigned int, size_t, and uint32_t. Now it returns uint32_t everywhere, which is what the underlying HAL API returns. Added a FIXME about the side effect behavior. This will need review for multi-client. Change-Id: Ifa2e117a87dbd0c1f2c892a31d1c3dd919bf1a0a
* | | | | | Merge "Unify comments between AudioTrack and AudioRecord"Glenn Kasten2014-01-172-13/+23
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Unify comments between AudioTrack and AudioRecordGlenn Kasten2014-01-142-16/+27
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I00a1025e2891a1c96218b3c2187eaddda6614ebc
* | | | | | Merge "Document AudioTrack mFrameCount and mReqFrameCount better"Glenn Kasten2014-01-151-3/+4
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Document AudioTrack mFrameCount and mReqFrameCount betterGlenn Kasten2014-01-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and remove unnecessary initialization of mFrameCount in set(). Change-Id: I9effeb0a6dd035ca02fe77f6992c55d9515b4df6
* | | | | | Merge "Use AUDIO_SESSION_ALLOCATE instead of 0"Glenn Kasten2014-01-152-5/+5
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Use AUDIO_SESSION_ALLOCATE instead of 0Glenn Kasten2013-12-202-5/+5
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix a couple of places where we were using AUDIO_SESSION_OUTPUT_MIX, which happens to also be equal to 0, but has a different meaning. Change-Id: I90e39be3b89f5021a96d9e3b8d10929013ca977f
* | | | | Document locking rules for mFlags, and fix discrepanciesGlenn Kasten2014-01-141-2/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: Id45ba544cc84133ed5e578fb4fd8a11b62211dc1
* | | | | Merge "Remove obsolete AudioTrack::processStreamEnd()"Glenn Kasten2014-01-141-2/+0
|\ \ \ \ \
| * | | | | Remove obsolete AudioTrack::processStreamEnd()Glenn Kasten2014-01-131-2/+0
| | |/ / / | |/| | | | | | | | | | | | | Change-Id: I7c01b9d2e109acf8c393d2c3b7b1985f6647d96c
* | | | | Fix race condition in AudioRecord::pause followed by startGlenn Kasten2014-01-131-0/+1
|/ / / / | | | | | | | | | | | | | | | | Bug: 11148722 Change-Id: Ia1e14133d73ac301fe06a047e70a573911822630
* | | | Merge "Cleanup AudioTrack::getMinFrameCount error handling"Glenn Kasten2014-01-091-0/+2
|\ \ \ \
| * | | | Cleanup AudioTrack::getMinFrameCount error handlingGlenn Kasten2014-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guarantee to return a non-zero frameCount for return status NO_ERROR; Return the correct specific status_t if any of the AudioSystem APIs fail, instead of the generic NO_INIT. API change: getMinFramCount no longer defaults to zero on error, so callers _must_ check the return status. This change makes getMinFrameCount more like other APIs. All known callers were reviewed, and they do check the return status. Change-Id: I4a8342a75ee89a068c23c84b8380ed9d1b968507
* | | | | Cleanup error handling in AudioSystem get methodsGlenn Kasten2014-01-081-0/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | Don't return zero sample rate or frame count without an error. Change-Id: I052d841080ed33e4f081ae9825a2f33dff444fb9
* | | | Merge "Remove unnecessary defaults for parameters in AudioSystem"Glenn Kasten2014-01-081-11/+11
|\ \ \ \
| * | | | Remove unnecessary defaults for parameters in AudioSystemGlenn Kasten2013-12-191-11/+11
| |/ / / | | | | | | | | | | | | Change-Id: I0ee7bc13cf64f50b1ea780f4d99899aed20421a0
* | | | am 42d89e5d: am b904d53f: am 8115f4b2: Merge "stagefright: do not offload ↵Eric Laurent2013-12-211-0/+1
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | LD-AAC decoding" * commit '42d89e5de5f401c7e81e1961061d07ae490c9d29': stagefright: do not offload LD-AAC decoding
| * | | am 8115f4b2: Merge "stagefright: do not offload LD-AAC decoding"Eric Laurent2013-12-201-0/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit '8115f4b206dbd04c620f062feb3c7785e2732ab3': stagefright: do not offload LD-AAC decoding
| | * | stagefright: do not offload LD-AAC decodingEric Laurent2013-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, do not offload LD and ELD AAC decoding because there is no way to know if it is supported by the audio DSP implementation. The longer term fix will be to have mapMimeToAudioFormat() use the audio object type in track metadata to refine the AAC format and the audio HAL list supported AAC profiles. Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
| * | | am 9060d498: Merge "update offloaded audio track sampling rate"Eric Laurent2013-12-173-2/+3
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '9060d498be0c54d3caf84e2dbf1ba62516b3e76e': update offloaded audio track sampling rate
| | * | update offloaded audio track sampling rateEric Laurent2013-12-173-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioPlayer must read the sampling rate from offloaded audio sinks whenever a new time position is computed as the decoder can update the sampling rate on the fly. Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
* | | | Merge "Fix some (but not all) unused parameter warnings"Glenn Kasten2013-12-202-2/+2
|\ \ \ \
| * | | | Fix some (but not all) unused parameter warningsGlenn Kasten2013-12-192-2/+2
| | |_|/ | |/| | | | | | | | | | Change-Id: Ia99e23a0b46db3f3e6aa46f9018e63c14f4af369
* | | | Merge "Add versions of get/SetParameters without I/O handle"Glenn Kasten2013-12-201-0/+4
|\ \ \ \
| * | | | Add versions of get/SetParameters without I/O handleGlenn Kasten2013-12-191-0/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | This is a step towards hiding I/O handles from application level, as much as possible. Change-Id: I30f4171d5dcf77f8e8eb332ce2e9245b30f5f2e1
* | | | Fix bug in test-resample's AudioBufferProviderGlenn Kasten2013-12-171-0/+11
|/ / / | | | | | | | | | | | | | | | | | | The contract for AudioBufferProvider::releaseBuffer() was missing. Bug: 12194314 Change-Id: I2fcf75e7b8eaf6db34f360206d79457a04a73565
* | | Better character set encoding detectionMarco Nelissen2013-12-111-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Id3 tags are supposed to be ISO-8859-1 or unicode, but often aren't. To better detect the real encoding we now use ICU to detect possible encodings for a given byte sequence, then apply additional heuristics to determine the most likely one. b/5564857 Change-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0
* | | Merge "Avoid the call to CameraSourceTimeLapse::trySettingVideoSize if ↵Robert Shih2013-11-261-1/+2
|\ \ \ | | | | | | | | | | | | initialization failed in the parent class ctor CameraSource::CameraSource."
| * | | Avoid the call to CameraSourceTimeLapse::trySettingVideoSize if initializationRobert Shih2013-11-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | failed in the parent class ctor CameraSource::CameraSource. Bug: 11636771 Change-Id: I5e6bffc1ebeeb1c2b84d6ed2049b2b3676ac046a
* | | | update offloaded audio track sampling rateEric Laurent2013-11-223-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioPlayer must read the sampling rate from offloaded audio sinks whenever a new time position is computed as the decoder can update the sampling rate on the fly. Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
* | | | am 72afcd5d: am 5ea5b020: Merge "WA: Queue extra buffers on output port ↵Lajos Molnar2013-11-181-0/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | during reconfig if input EOS-ed" into klp-dev * commit '72afcd5da296b1f5fb38ef037054855aaea88054': WA: Queue extra buffers on output port during reconfig if input EOS-ed
| * | | Merge "WA: Queue extra buffers on output port during reconfig if input ↵Lajos Molnar2013-11-191-0/+2
| |\ \ \ | | |_|/ | |/| | | | | | EOS-ed" into klp-dev
| | * | WA: Queue extra buffers on output port during reconfig if input EOS-edLajos Molnar2013-11-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some codecs may return input buffers before having them processed. This causes a halt if we already signaled an EOS on the input port. For now keep submitting output meta buffers one at a time if the input EOS-ed, but the output not yet. Normally, we submit an output buffer for each input buffer that is with the component (waiting to be processed). Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11433909
* | | | am 576e89b5: am 7dae71d6: Merge "AwesomePlayer: correct stream type for ↵Eric Laurent2013-11-152-1/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | offload" into klp-dev * commit '576e89b523d7705545032edc67d98d9ab1dedbd2': AwesomePlayer: correct stream type for offload