ee3ad477a71ba690f0b5721056a6514bf2f76bd8 |
16-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix indentation and redundant whitespace"
|
4bcfac513e073db89f72e2345be365f95895ca28 |
20-Dec-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Cleanup CreateAudioPlayer and CreateMediaPlayer"
|
22ced1dc023dc000118e3a26517b14e9babd7c5a |
12-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Fix indentation and redundant whitespace Change-Id: I8e0193ad5aa9405f64203bf7814d8a9e434c5dde
Equalizer.c
StreamInformation.c
Virtualizer.c
|
72042d4448cee63528c619537321ba73944c6382 |
16-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Cleanup CreateAudioPlayer and CreateMediaPlayer Fix minor bug in MediaPlayer, it was missing an assignment if invalid locator: mp->mAndroidObjType = INVALID_TYPE; Cleanup: - add placeholders for android::AudioSystem::acquireAudioSessionId and releaseAudioSessionId - remove duplicate initialization of some fields. - android_audioPlayer_create can never fail, so make it return void - add comments - remove unused method audioPlayer_setInvalid - simplify android_audioPlayer_create Change-Id: I237b796f6b828cf53bf2c628e52a05a4bdf86c06
Engine.c
|
ab7724988c1ff39ad3fc95a7ae0e638357708f7c |
29-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Add curlies to if / else Change-Id: Id697a96cc9bafa56f8ebbb2ad542a70181ed561d
Play.c
Volume.c
|
02a171afdb1a5198b22f38ed1b306bb8cc6e7043 |
30-Nov-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
resolved conflicts for merge of 2917f475 to master Change-Id: I63f4689fabb2aee1682d785ad9c41f06de380396
|
af9b87de97356722370d11d2c5797d75cb43969e |
29-Nov-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 5553055 support video only format change in MP2TS Allow command data when enqueueing a format change command. Support format change where the application signals that the change is for the video stream only. Consider any other change or format change command with invalid data as a full format change. Change-Id: I6c684eab36a51dded7e3d7e72b8effe13dac6cc8
AndroidBufferQueue.c
|
9dc142db9439e53a3831d7c9e607affe87138db5 |
29-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug fixes and cleanup for video codec profiles"
|
df200f6a98da83bf2c1b14aff0ed356263dfb8b7 |
11-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Bug fixes and cleanup for video codec profiles Bug fixes: - removed the line VideoDecoderNbProfLevel[c] = 0;" it could overwrite the MPEG2 entry if only one codec implementation, or worse if there were multiple codec implementations - android_videoCodec_getProfileLevelCombinationNb was returning success and zero count if a decoder has zero profile/level combinations, but OpenMAX AL 1.0.1 spec says it must fail in that case. Minor cleanup: - omx does not need to be global - We only use the first codec implementation for a given decoder ID / MIME type, so simplify the code that iterates through the array of codec implementations - Add some const - Add some comments Also includes #if 0 code to restrict reported video codec profiles, as a placeholder -- disabled for now. Change-Id: I81991f164efaf3606beb5789e1a79cf76ad033a0
VideoDecoderCapabilities.cpp
|
1f20e5c4db4c920bbe7b9e6cd6390ed8df64be9a |
29-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Remove AudioTrackProxy since AudioTrack is RefBase"
|
ae1a5c8dc1fccf7c121eda830f8d23bd094c0f16 |
15-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Remove AudioTrackProxy since AudioTrack is RefBase Change-Id: I4a1f755178699e0fdedf58e1f3cbd82e6067e071
Engine.c
|
682f9be91e641e80739c21d6ff124379a806182a |
16-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5238515 AndroidBufferQueue miscellaneous AndroidBufferQueue: - errors found by setItems are now hard errors, and cause Enqueue to return an error result (e.g. PARAMETER_INVALID or PRECONDITIONS_VIOLATED) - disallow EOS with non-zero data - disallow Enqueue after EOS - Enqueue checks MPEG-2 sync byte of first packet to reduce chance of downstream failures - use MPEG-2 terminology "packet" instead of "block" - Clear and init don't need to erase buffer content, as it is inaccessible - put placeholder in IAndroidBufferQueue_SetCallbackEventsMask for additional events beyond SL_ANDROIDBUFFERQUEUEEVENT_PROCESSED - comment unused field mBufferState in AdvancedBufferHeader - fix a minor typo - add dump method, #if 0 out by default Change-Id: I11921e3784bfdb30e2cebaa1dabb705ea5ab0b92
AndroidBufferQueue.c
Engine.c
|
70e6a0238597223221a8bf5e506c92acf28aa35f |
29-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Simplify code for the AAC decode use case Details: AacBqToPcmCbRenderer constructor now takes an additional parameter: the IAndroidBufferQueue * interface. So now there is no need to register a callback after construction, and AacBqToPcmCbRenderer::registerSourceQueueCallback can be deleted. This allows android_audioPlayer_androidBufferQueue_registerCallback_l to be deleted. AacBqToPcmCbRenderer::mBqSource is always non-NULL and const, so this allows removal of mBqSourceLock and some error-checking code. BufferQueueSource source constructor now takes the IAndroidBufferQueue * interface instead of the list [user, context, caller]. This allows mAndroidBufferQueueSource to be const, which then allows more code to be deleted in IAndroidBufferQueue_RegisterCallback. new AacAdtsExtractor can't fail. Change-Id: I1f39ccc1e69833fe6df616feb76edbe4ce82fca7
AndroidBufferQueue.c
|
047916c6e882878075e42a7a5986a6bc1b0cf489 |
07-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "CT and spec errata for MuteSolo::GetNumChannels"
|
c9a59d2a184ac461f46c3d878c6fc2574f1805f0 |
28-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
CT and spec errata for MuteSolo::GetNumChannels The question of what to return when channel count is unknown was dicussed by Khronos working group. They decided to return zero channel count and success if unknown. Both the spec errata and CT have been updated for this. Change-Id: I820291271f83bad2142046372d9b22e4d05faf07
MuteSolo.c
|
22dfd403dbb51c8da9ade19b85e2077a724ce743 |
03-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix build errors and warnings on native"
|
39fa9db7f2b75847866c20b63efde3f6ca3a700a |
02-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Finish out the StreamInformation interface"
|
631aa9c3c2a45b81552ad0a6b22cb3a661f97182 |
01-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Reverb comply with OpenSL ES 1.0.1 spec"
|
b5b68e8d3b4420eed7cb18cac212c28af138048e |
14-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
am fcdc9c4c: Merge "Improved deadlock detection logs." into ics-mr0 * commit 'fcdc9c4cc7da7044f92399b1b5c7a4ddd5fec3b4': Improved deadlock detection logs.
|
7d77f0aed328363b188d2caa829bb836ba1abcc8 |
28-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Reverb comply with OpenSL ES 1.0.1 spec According to OpenSL ES 1.0.1 spec, SL_RESULT_CONTROL_LOST is not a valid result code for the "Get" APIs. They are supposed to return SL_RESULT_SUCCESS and the last known setting. This affects ability to run Khronos CT. Change-Id: I8ee4c0f9ef95da2ac3d59ca1cde9b4ace32e88fe
EnvironmentalReverb.c
PresetReverb.c
|
887b8d1551370e592f527dcba3e76cf6916cf677 |
11-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Finish out the StreamInformation interface Return SL_RESULT_FEATURE_UNSUPPORTED instead of XA_RESULT_CONTENT_UNSUPPORTED for unsupported APIs. First pass at implementing QueryStreamName. Use shared not exclusive locks for read-only access (serves as a comment only, since really the same). Change-Id: I54c5f3456d541f4f9afa0271721e6c958eaae1d9
StreamInformation.c
|
7da229586b6c8893a1731bfe3eae7996e2ccffc6 |
23-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Fix build errors and warnings on native android_audioPlayer_metadata_* APIs don't exist on non-Android. handlers.c needs a definition for NULL. handler_AudioPlayer_gain isn't present on non-Android. Fix typo in declaration of ThreadPool_add. Fix warning: unused variable len. Change-Id: Ia7d516c2cf3a51f5a657a3aad76188041dcc6620
MetadataExtraction.c
|
1056f1a140470cdee12e2243d659664f479091cc |
13-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix bugs in get decoder/encoder counts"
|
4ce38604afa7e4f629d568f400b0634504e60a2e |
29-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Improved deadlock detection logs. This should make it easier to debug the "object was locked by" logs. Display tid and pthread_t of both the lock owner and the caller in the "object was locked by" warning log about potential deadlocks. This makes it easier to figure out what's going on with ps -t which only shows the tid not the pthread_t. Reduce false positives by using a generation counter to look for forward progress, at the risk of increasing the chance of more false negatives. Use lock with timeout to reduce chance of missing an "unlocked" window. Change-Id: I15e158a20d7076624188110842a01c1bf2c5c8ae
Object.c
|
02581cf1ea8e4392760f370b9d64f097ea2c81f4 |
12-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Final revisions for NDK API level 14"
|
12b2ad7d0dd93d5c0f66027def3d05b762103483 |
11-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Khronos bug 8080 GetMarkerPosition"
|
c3b82a293ed06001ba6d50f111608160c6065ef2 |
18-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Final revisions for NDK API level 14 Rename ANDROID_MIME_MP2TS to XA_ANDROID_MIME_MP2TS and ANDROID_MIME_AACADTS to SL_ANDROID_MIME_AACADTS and make public. ANDROID_MIME_AACADTS_ANDROID_FRAMEWORK remains private. Change-Id: Ie2cda273b6adb2db453aad188b28e64147f9e6b0
Engine.c
|
f5d670d0bdff70564148f54132c034f454bdce61 |
10-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "EnvironmentalReverb::SetDensity copy/paste"
|
45b349f3c585a0750417722f72224a35baaab734 |
30-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Khronos bug 8080 GetMarkerPosition Play::GetMarkerPosition returns SL_RESULT_PRECONDITIONS_VIOLATED if no marker is set. Play::SetMarkerPosition returns SL_RESULT_PARAMETER_INVALID is parameter is SL_TIME_UNKNOWN. Similar changes for Record, and also bring in all the recent changes from Play. Add missing curly brackets. Change-Id: Ibcfdcab5d4342815fe8d0fb1174053e1599aaf5d
Play.c
Record.c
|
d483f834da2257a3c5084225f4456a84913943cd |
28-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Fix bugs in get decoder/encoder counts Khronos CT found this problem for AudioDecoderCapabilities::GetAudioDecoders and AudioEncoderCapabilities::GetAudioEncoders. These APIs are not currently supported, but are faked out to allow the CT to proceed to other tests. Change-Id: I5e73324c51ea37e76f621c161393df700b6155c4
AudioDecoderCapabilities.c
AudioEncoderCapabilities.c
|
8a9cb417dff7359e6665c76e85af01d8527ecbd2 |
06-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
EnvironmentalReverb::SetDensity copy/paste There was a missing assignment to the density field Change-Id: I0dc3332da04b0d3f569625781258df560a89f3b9
EnvironmentalReverb.c
|
ab657fa824d329357b66ceee2b350b9049847f06 |
06-Oct-2011 |
Glenn Kasten <gkasten@google.com> |
Khronos CT PresetReverb::GetPreset OpenSL ES 1.0.1 spec and conformance test do not permit result to be SL_RESULT_CONTROL_LOST. They say that even if control is lost, PresetReverb::GetPreset should return the last known preset value. Change-Id: I11fa6434d35b8e32c660f13f6d96c1db5193bedf
PresetReverb.c
|
3ac5dcc05fe321e4f01918aef2e3e54e22c9a5c1 |
17-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Remove dead code AudioPlayback_Parameters fields trackcb and trackcbUser audioTrack_callBack_uri android_Player_androidBufferQueue_registerCallback_l GenericPlayer field mLooperPriority StreamPlayer::registerQueueCallback CAudioPlayer::mpLock AudioSfDecoder::startPrefetch_async IAndroidBufferQueue does not support AudioRecorder object android/BufferQueueSource.h #include Change-Id: I9d7cef243167e10279df452e7c62e66d8f5fe3b6
AndroidBufferQueue.c
Engine.c
|
aad45518461f3ffa9cf4839962b08877d524d06d |
26-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5365486 GetVideoDecoderCapabilities"
|
05c7b2d09d54b9260ff7f3f5e491f38d0097c406 |
21-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5369977 check required interface compatibility Use required not exposed in checkSourceSinkVsInterfacesCompatibility. Change-Id: Ib71826b989ddef2e87dd60bec0306ca2a4021fe3
Engine.c
|
947ccd3690e84649878f2583c701ca8de1b19ed4 |
24-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5365486 GetVideoDecoderCapabilities If OMX IL implementation reports a codec with 0 profile/level combinations, it should not be an error for the application to query the number of profile/level combinations. Change-Id: I6838ba1168da70a5c5e7d5a2832ec3ee1ee9aef3
VideoDecoderCapabilities.cpp
|
4260ff7b8f65fdfe8d0176cdce66faf0a10c4b10 |
10-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5287473 realize locks Realize had inconsistent and partial locking. Now realize runs completely locked by default. Change-Id: If453cfc0ac874f32cf5a1fcfe7795d24bd2a48d4
Object.c
|
53445ae321e15496dca8f26398766b39a4c18b56 |
02-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5244675 handle the switch cases of AAC decode"
|
f5ff1a75f55677163bd9a8bd804e8f5c33ef592c |
30-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5244675 handle the switch cases of AAC decode Fix handling of AUDIOPLAYER_FROM_ADTS_ABQ_TO_PCM_BUFFERQUEUE decode use case: - Play::GetPosition: explicitly list decode case and return media player time; previously returned zero. - Seek::SetLoop for AudioPlayer or MediaPlayer: return SL_RESULT_FEATURE_UNSUPPORTED on non-URI data source. This is correctly passed up to app. The remaining have no immediate impact, but should make future maintenance easier: - Play::GetDuration: explicitly list decode case and return unknown time; no impact as already covered by default. - Seek::SetPosition: explicitly list decode case and handle as no-op; no impact as already covered by default. - Seek::SetPosition for AudioPlayer or MediaPlayer: return SL_RESULT_FEATURE_UNSUPPORTED with unsupported data source e.g. buffer queue. No impact as the result is currently ignored, but added a FIXME to pass this up to app. - AndroidBufferQueue::Clear: explicitly list decode case as a no-op other than the partial clear of upper layer queue. - AndroidBufferQueue::onRefilled: explicitly list decode case as a no-op, but with a FIXME that this may need more work later. Change-Id: I53c8a0b736f32cd265ee9c94a70127d4f80869b5
Seek.c
|
677c76347d9aaca4cf3746b3dbfc8a741281066b |
24-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5217144 AndroidBufferQueue::Enqueue error chks Add more error checks to Enqueue: - check for a NULL data pointer with non-zero data size - check for a NULL item array with non-zero item array size For the Enqueue item processing: - examine all items if there is more than one in the array - check for invalid combinations of items - check that total length of item array is large enough for each item's header and any optional data - check for an EOS with a non-empty item data - log if an unknown item key is found - added the EOS item handling code for AAC ADTS (the underlying implementation is still not yet done). Fix copy/paste typo in initializeAndroidBufferQueueMembers. AacBqToPcmCbRenderer::validateBufferStartEndOnFrameBoundaries: - now returns a more specific result code rather than bool - readAt return type ssize_t not size_t - readAt return 0 (EOS) is a LOGV not LOGE. Fix race in Android buffer queue callback: replaced logic in BufferQueueSource.cpp by safer code from android_StreamPlayer.cpp Change-Id: I423ccbd6d76a736a486b49b5dfdb7898b52cdd02
AndroidBufferQueue.c
Engine.c
|
485a038f9f0f898227b8ab4218e94c5d56b6ed0b |
24-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5193695 Fix crash after MediaPlayer destroyed The StreamSource callback thread was continuing to run after the MediaPlayer object was destroyed. Fixed by adding a callback protector and a pre-destroy hook. GenericMediaPlayer::preDestroy now also calls MediaPlayer::stop just in case. Change-Id: I5bd771d4d1936f433d2a8c9959593782c96daed9 Miscellaneous: - added an explicit destructor on CMediaPlayer::mAVPlayer for consistency (probably not a bug since there was a clear on it earlier) - updated comments for CallbackProtector - made some CallbackProtector fields private since no sub-classes yet
Engine.c
|
d35a79e84406f855c4541b129106e8a3ce33abc6 |
24-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5198051 MediaPlayer StreamInformation various"
|
5b70990dc007841602ee23b7dfeb7a8647e280dc |
24-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5198051 Video sink on MediaPlayer is optional"
|
2bb3547351a40ad394b09babec4d2fcc233bfe2e |
22-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5198051 Video sink on MediaPlayer is optional Change-Id: I2c78508fa1efac765ff5812c22e3a4c2cfc33b73
Engine.c
|
cb441acdda6f8e81d44fcdaadd4ff7ab3d3e367b |
21-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5198051 MediaPlayer StreamInformation various Fix uninitialized field frameRate. QueryMediaContainerInformation returns XA_RESULT_PARAMETER_INVALID if info is NULL, otherwise it copies the information via the info pointer, and returns XA_RESULT_SUCCESS. QueryStreamName returns XA_RESULT_FEATURE_UNSUPPORTED. Simplify RegisterStreamChangeCallback. Change-Id: I261ac0c053be0de7bac5fc80661b979f7f9c84b6
StreamInformation.c
|
3d332ff421e7179c36fb652771cc8ded53383729 |
22-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5198051 MediaPlayer support GetDuration Change-Id: I09d9292685d82b88cddd243e6e7f5410ffaa2248
Play.c
|
6a98dda78256c053fcd8bddc76ac5218f4313c03 |
18-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5159291 lock safety"
|
ccabcf9073f0ccd12016ff1f05d1c4456c41b254 |
16-Aug-2011 |
Eric Laurent <elaurent@google.com> |
Merge "Bug 5147281 prefetch status deadlocks"
|
e3f648ad6e3634680452b639ee802c657fbfa73d |
14-Aug-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "AAC buffer decode to PCM buffer queue"
|
b566926611b2105a46c4ff98238ad06aca54104d |
12-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5159291 lock safety Change-Id: I56f5fd038d63d033954d794168df4cbcdade26f3
AndroidBufferQueue.c
AndroidEffectCapabilities.c
AndroidEffectSend.c
EnvironmentalReverb.c
Object.c
PresetReverb.c
Record.c
Volume.c
|
a60dbf554549d10780f473b6e1373aa07aec3a28 |
11-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5147281 prefetch status deadlocks Fixed two deadlocks related to AudioTrack prefetch event callbacks: - if PrefetchStatus interface was initialized on an AudioPlayer, there was a deadlock at the point where it checked whether to do a callback - prefetch status callbacks are now called with the object unlocked, so they are permitted to do APIs on the object Miscellaneous fixes: - SMP-safe locks for GetPrefetchStatus, GetFillLevel, GetCallbackEventsMask, SetFillUpdatePeriod, GetFillUpdatePeriod - SetCallbackEventsMask error handling for invalid bitmask - Enqueue sets prefetch fill level to 1000 Change-Id: Ic8b2c440aeb4efa3446a4a73d3422d934ceb0578
PrefetchStatus.c
|
bb832e853d4afb11b0a3287b2eb0cad87696d631 |
27-Jul-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
AAC buffer decode to PCM buffer queue Implement AAC ADTS decode with buffers of compressed data being passed to the framework through an AndroidBufferQueue, and decoded PCM buffers being passed to the application through a BufferQueue (just like existing decode from URI/FD). Change-Id: Id992a44a5ca7e404088b929f2b0afe9ca1f85223
AndroidBufferQueue.c
Engine.c
|
f093dcf23cb5f54ced676c03a64cc68a165266f4 |
09-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5126938 dependency and miscellaneous bug fixes"
|
70045723775b56440b4e10d948831a2190d2d264 |
09-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 4603165 playback rate change"
|
c2a325746469c4c7625ec78a169b65a11dbe1e30 |
08-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5126938 dependency and miscellaneous bug fixes Fixing bug 5126938 will involve adding the IAndroidConfiguration interface to CMediaPlayer object. In the process of doing this, I found a few miscellaneous bugs in the error handling for IAndroidConfiguration. This CL fixes those bugs, and prepares for adding the interface CMediaPlayer by making it easier to support new objects with the interface. Details: - Generic error handling: Move some error checks from the object-specific code into the generic IAndroidConfiguration.c. Fix bug in SetConfiguration and GetConfiguration where we were not checking configKey for NULL Return SL_RESULT_FEATURE_UNSUPPORTED instead of SL_RESULT_PARAMETER_INVALID if IAConfig interface is exposed on an object which doesn't really support it (this could if the classes.c interfaces table was updated before the cases were updated). Compare with IMuteSolo for non-AudioPlayer. - Object-specific error handling: Fix bug where we weren't returning the actual value size in audioPlayer_getConfig when pValueSize was non-NULL and pConfigValue was NULL. Return result SL_RESULT_BUFFER_INSUFFICIENT instead of SL_RESULT_PARAMETER_INVALID when output buffer is specified as non-NULL but available space is too small. Compare with IAudioIODeviceCapabilities. Return result SL_RESULT_SUCCESS instead of SL_RESULT_PARAMETER_INVALID when output buffer is specified as NULL; this is intended to allow the application to discover the required space. Compare with IAudioIODeviceCapabilities. - Use 'switch' instead of 'if' for checking object types, to improve readability when adding more object types Change-Id: I8b2cdd506a36bfa9b1326a8a9966a6633bbbba6d
AndroidConfiguration.c
|
1b65b2054448050ded9e1475df7b755421a1e2da |
05-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5903270 play interface, events, markers, etc."
|
6d78c9bfb68f8a0db1855bc28c087c39a7eb6f2c |
04-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 4603165 playback rate change Non-trivial implementation is only for AudioTrack with rate range 500 to 2000 per mille and property SL_RATEPROP_NOPITCHCORAUDIO; for Android MediaPlayer the rate range is 1000 to 1000 per mille. Details: - no multi-range - fix SMP races in GetRate, SetPropertyConstraints, GetProperties - SetRate only updates mRate if successful - Rate_SetPropertyConstraints only updates mProperties if successful - return SL_RESULT_FEATURE_UNSUPPORTED for non-AudioPlayers which have this interface (currently only MidiPlayer) - for Android, atomically set playback rate and constraints and simplify to use hard-coded constraints rather than querying - per the spec, SetPropertyConstraints now returns SL_RESULT_PARAMETER_INVALID if the constraints are out of range, or SL_RESULT_FEATURE_UNSUPPORTED if the constraints are in range but not supported by this implementation Change-Id: I051ff92b20f3845ffa12bccec778937d42823e5d
PlaybackRate.c
|
5933f3d5e532aaac31ce0e6551c59f0197c0ae3c |
29-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5903270 play interface, events, markers, etc. As the media framework does not directly support marker and periodic callbacks, we use a retriggerable one-shot timer at application level to emulate this. This has the advantage of being faster, but is also less accurate than if it were in the framework. Details: - Get position is now synchronous and (mostly) lock-free - Fix regression in SL_PLAYEVENT_HEADATMARKER and SL_PLAYEVENTHEADATNEWPOS - Fix SMP races in GetPlayState, GetCallbackEventsMask, GetMarkerPosition, GetPositionUpdatePeriod - AudioSfDecoder was not updating mPositionMsec when getPositionUsec failed - Updating attributes is relatively expensive, so only do it when a significant change in SetMarkerPosition, ClearMarkerPosition, SetPositionUpdatePeriod - Error on unknown message type in onMessageReceived - Delete an obsolete FIXME - "Clearing" a marker is now equivalent to disabling the marker event, and the default marker position is cleared. - use Android time units and types (int32_t, ANDROID_UNKNOWN_TIME, etc.) where appropriate instead of SLmillisecond and SL_TIME_UNKNOWN Change-Id: Ib78bafa20d883b8d927364769663837389b6ea1d
Play.c
|
f731cc1f3cd5911b0aff730bd504ee47a3ba3c6c |
03-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5109153 Remove log spam"
|
e51d469aa14fa9ae94bddc31ae6aab59e41a48ca |
03-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5108531 Report the correct API level"
|
f152bc273bc3f8471bca626fe9cc966dad304173 |
02-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 5080320 MediaPlayer volume"
|
ecc4fe22e076c4e5c891d823b01db1a683ba6690 |
02-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5109153 Remove log spam Change-Id: I6c0c742bfa3f0078968dc5e2ea3578ad786067c5
AndroidBufferQueue.c
StreamInformation.c
|
4076e5009bfe70bc06a78f5aafec77af6c03201d |
02-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5108531 Report the correct API level Use build macro PLATFORM_SDK_VERSION to automatically update the reported value, however the test program will still need manual updates. Change-Id: Iae044605db65021c7d1e9825aab80ab5d6b552a8
Engine.c
|
99b927751677abfb60a388d65dfeed1fed1db12c |
28-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5080320 MediaPlayer volume Details: - re-factor volume-related code yet again - remove dead variables mAmplFromVolLevel, mAmplFromStereoPos, mDirectLevel - add placeholders for kEventPrefetchFillLevelUpdate and kEventPrefetchStatusChange Known issues: - MPEG-2 TS doesn't yet implement the ability to query channel count, so default to stereo Change-Id: Ic0f2297b267dc3d380755e8d314e1d5f0f659d7c
Engine.c
|
e878c470cf58c8654d613ab2449468b44a90d6e5 |
27-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5082191 fix slesTest_decodeToBuffQueue assert Change-Id: I2ec181cc7eba000847bd28e6d04733d3496d74d9
Engine.c
|
6f0f5640d190b0187c356eb53bd96d9f9e49da60 |
25-Jul-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 5022500 MP2TS format change support in OpenMAX AL Define new command that can be queued in AndroidBufferQueue to signal an MP2TS format change. This command maps directly to IStreamListener::kKeyFormatChange. Change-Id: I67908fd9e1a7d994862ea3e41c4c0fb6e36bc804
AndroidBufferQueue.c
|
d7ecf117cfac5f2b90a0dc6c62b56dcce0715971 |
19-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Reduce logs Change-Id: I82c8a66886bd3b853fac88594370545ed23a0400
VideoDecoderCapabilities.cpp
|
6e7e174807fc639c49125ced8962aa369370fbf0 |
13-Jul-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Implement XAVideoDecoderCapabilitiesItf Add support for the OpenMAX AL XAVideoDecoderCapabilitiesItf engine interface. Implement the Android support of this interface in VideoCodec_to_android.*. This functionality relies on OMXCodec::QueryCodecs() feature, and does only expose hardware codec capabilities (see full note in VideoCodec_to_android.h). Add sample code to list the platform's video decoders and their profile / level combinations. Change-Id: Iff6a42542c1db67ca1dcf539449ca96aa5944f6d
VideoDecoderCapabilities.cpp
|
fd921c5e16782bcf10f997487b44deb38156ab2b |
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Remove the simulator target from all makefiles. Bug: 5010576"
|
ddf30363c081b598a4df50c30a7e469a2551bdbd |
12-Jul-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "Implement XAPlayItf::GetPosition on MediaPlayer"
|
35a5a30fdad179ccf38d8d756590411326159a89 |
12-Jul-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Implement XAPlayItf::GetPosition on MediaPlayer The play interface was only in place for routing calls to an AudioPlayer in OpenSL ES, not in OpenMAX AL for a MediaPlayer. Change-Id: Icf514be428396264252874faf1060c76ddee9545
Play.c
|
ffea36e11b068d171549b64ee767eefd2637555a |
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: I59e3c37c05c1114648172d9aba7abf035986bede
AndroidEffect.cpp
|
cf3a6383a9bc9a94ca5b424ea97313293ee0dcb0 |
10-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
ThreadPool callbacks provide more parameters Now allows up to two void * and two int parameters. This will be needed by deferred application-level callbacks Change-Id: Ie388169439b2e3ab95d053007bcdc674b875fa67
DynamicInterfaceManagement.c
Object.c
|
90fade711b33e9b79b034ec288bd2ecf48b2fd41 |
08-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Make it build again on non-Android"
|
4f3f0f5d1b97008790158f4dde71057f7d8ed41a |
08-Jul-2011 |
Eric Laurent <elaurent@google.com> |
Merge "Moved and renamed effect API header files"
|
ea429ee1007c36ade812199ad365c0e659e8053f |
17-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: I8e8f6e3851f12ae8bb380fa714abe26da06d3b58
BassBoost.c
EnvironmentalReverb.c
Equalizer.c
Virtualizer.c
|
71139e6bc1f077d285fb04629925d99383d1114f |
07-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Make it build again on non-Android Fix warning about unused variable. Remove spurious include. Fix warning about printf format type mismatch. Change-Id: Ibeeb33a55175e0ec1e5210211d8844df0bbe3bca
Engine.c
|
1a9c2615d0933d183fcb1b9e34ec8f0da2a85153 |
07-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Rename ANDROID_UNKNOWN_* to UNKNOWN_* Change-Id: I0d92b7d943690d9af7e08c400471f8b474728bff
Engine.c
|
47550bf6cf5cf08a402a54b1589f4b64582a5120 |
30-Jun-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 4980997 Fix the AudioTrack start deadlock Details: - Added AudioTrackProxy, a RefBase proxy for AudioTrack - Call AudioTrack::start() after unlock Change-Id: Ib1a05ee57f78432eb4c9d3a5bd68dd31a78d6e3e
AndroidEffect.cpp
Engine.c
|
f4647bf85968ab30eb07f9a80b99177d91068f94 |
29-Jun-2011 |
Glenn Kasten <gkasten@google.com> |
Call AudioTrack start, stop, and pause when needed These AudioTrack operations are relatively expensive Binder calls (and will soon be even more expensive to fix a deadlock at AudioTrack::start), and they were being called excessively. Now AudioTrack start, stop, and pause are only called when there is an actual play state change. Details: - distinguish ATTR_TRANSPORT vs. ATTR_PLAY_STATE for audio players - android_audioPlayer_setPlayState is only called when the play state changes - handler_AudioPlayer_transport is only called for transport changes other than play state - android_audioPlayer_setPlayState is always called with mutex locked - since media player currently only handles play state, handler_MediaPlayer_transport is still called for both ATTR_TRANSPORT and ATTR_PLAY_STATE - since the handlers for ATTR_BQ_ENQUEUE and ATTR_ABQ_ENQUEUE are only called if in state PLAYING, changed an "if" to an "assert" Change-Id: Iee2968fd98d215885b7105053bb1604f962ea337
Play.c
|
6cce136651f6fd2c7aecd45bc553270152d75462 |
28-Jun-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix race condition when deleting an AudioPlayer When deleting an AudioPlayer that is used as a PCM decoder, there can be callback underway, for instance when trying to delete a player just as the notification of its preparation arrives. The fix consists in: - flagging all callback with the CallbackProtector mechanism, - only entering callback when it is valid to do so - renaming AudioTrackProtector to CallbackProtector as this mechanism is not exclusively used for the AudioTrack callbacks. Change-Id: I9336a75981de43f71a983c1300f3a0ff314ac1e0
Engine.c
|
8bae97ce4243cb9fe37fa35b82cca48fca735e72 |
23-Jun-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 4606138"
|
7f5cc1afe49395fefaad9b2bbd728a45d1bfda6a |
16-Jun-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenSL ES: additional features when decoding to PCM Support the following features useful when decoding a compressed asset to PCM: - GetDuration in SLPlayItf - implemented SLMetadataExtractionItf on an AudioPlayer whose data sink is a buffer queue (i.e. it's a decoder) - added support for 6 new metadata keys that can be queried through SLMetadataExtractionItf, which match the fields of the SLDataFormat_PCM structure. Updated the decode sample code to use these features: the slesTestDecodeToBuffQueue app now displays: - the number of channels - the channel mask - the sample size - the container size - the sample rate - the format endianness Change-Id: I3ca1e29828fd8c16c89da43a28df429c9cdef7af
MetadataExtraction.c
|
8b565a4139cb37b0682b44cf9a16525ebf6c2058 |
16-Jun-2011 |
Eric Laurent <elaurent@google.com> |
Revert "voice processing" This reverts commit 7585d227843769079ee2afb385607b3e23ac1e07
BassBoost.c
EnvironmentalReverb.c
Equalizer.c
Virtualizer.c
|
7965455f86c21d6e1f788b284f5fc829e82ff2b5 |
14-Jun-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 4606138 Change-Id: If4745ee39eeedf11388800cc30c26e4c4f8ddaa0
Engine.c
|
87c9a6bbe9dabec3d795675ab0ef74a773cc1670 |
12-Jun-2011 |
Eric Laurent <elaurent@google.com> |
voice processing Change-Id: I0b6129f566349fd333f34773589d5d15c36a7c15
BassBoost.c
EnvironmentalReverb.c
Equalizer.c
Virtualizer.c
|
10a3840407ac3ed61e7873ee7b86d664ccc6149f |
11-May-2011 |
Dima Zavin <dima@android.com> |
update for new audio.h header location Change-Id: I2140f1def08bedd8b2bd5170c6ac5edccb80035c Signed-off-by: Dima Zavin <dima@android.com>
AndroidEffect.cpp
Engine.c
|
ca39f4b4dbeb920a5b97bd65be73f2f7cac77431 |
06-Apr-2011 |
Dima Zavin <dima@android.com> |
system/media: convert to use new defines from hardware/audio.h Change-Id: I8f0f0d26e10dbbb4dfbc3b52f1c02737a375c5e0 Signed-off-by: Dima Zavin <dima@android.com>
AndroidEffect.cpp
Engine.c
|
a8179ea15c4ff78db589d742b135649f0eda7ef2 |
13-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Fix build warnings caused by the 'long' change Change-Id: I34e74d723ae7fd829dd140614928d7880e669f03
AndroidBufferQueue.c
AndroidConfiguration.c
AndroidEffectCapabilities.c
BufferQueue.c
EffectSend.c
Play.c
StreamInformation.c
|
e31a69fcbe27894a597176d05a08e04c06092021 |
13-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Fix various bugs found with unit tests ISeek::SetLoop was returning undefined status. Khronos Bug 7614 - sizeof(long) != 32 bits on x86_64. Fix bug in IID hashing due to the above. Fix bug in GenericMediaPlayer::onLoop; was using mPlayer without checking for NULL. Fix wrong API level in tests/sandbox/object.c. Decrease log level from I to V in MediaPlayerNotificationClient::notify and GenericPlayer::~GenericPlayer. Fix memory leak in tests/sandbox/engine.c. Comment out overly verbose log in tests/sandbox/streamSource/slesTestPlayStream.cpp. Change-Id: I322fa9e19ee95ea1e18870a20f6a3c03b8f21208
Seek.c
|
ad79bbfd16ba81a45842179178332fbd06ad365e |
11-Apr-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Remove compilation warnings for SLmillibel level comparisons In OpenSL ES, the volumes are expressed in millibels, which are stored as SLint16. The mix and max values are defined as: define SL_MILLIBEL_MAX ((SLmillibel) 0x7FFF) define SL_MILLIBEL_MIN ((SLmillibel) (-SL_MILLIBEL_MAX-1)) Therefore the comparison (SL_MILLIBEL_MIN <= level) is always true. This CL removes those comparisons rather than use the compilation flag to suppress the warning (it is a useful warning!). Change-Id: I5672f257661ac045ba5282ecb0ecd14d985d8102
AndroidEffectSend.c
EffectSend.c
EnvironmentalReverb.c
|
cc7918cbca027f26fa739f15181157bb9d9e0eaf |
07-Apr-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND"
|
92b245bf8828db9e469febebbe8774c00570b5b9 |
07-Apr-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND Implemented support for: - seeking to a position - looping (only over full duration is supported, no loop points) - notification of end of content reached This is all for the playback of URIs or FDs. Change-Id: I015c40e66feb7ac280459895f5f7915ac964df31
Seek.c
|
0170dc5795126c660213ffdd3a39f4b9e5bc7e9c |
07-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix build on non-Android platform"
|
0e3b9fb27c3597dd4b32f2894f5d182ea4b86234 |
06-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Line length 100 Change-Id: Ie4459eed7f94870413bc87252910c1189ecf2e06
StreamInformation.c
|
f6c0c2346b2ca1ac01c2d68a2cd2a7f1d9ff3427 |
06-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Fix build on non-Android platform Change-Id: I85b25467ac5bae45b12ec5b0abfb4696449c2da8
AudioIODeviceCapabilities.c
Engine.c
OutputMix.c
|
4ee246c55533bdab8ab5fa0f0581744fe58e7c91 |
29-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Move support for SL URI and FD playback under GenericPlayer class The SfPlayer class was implementing URI and FD decode and playback in the application process. This CL removes this class entirely and moves its functionality under the GenericPlayer class. This means that the playback of URIs and FDs is now implemented through an android::MediaPlayer object running in the media service. The SfPlayer header had many StageFright and system includes, which are now moved to the relevant files where they are required, instead of automagically coming from sles_allinclusive.h. Note that this CL breaks support for the following OpenSL ES features due to missing Android MediaPlayer features: SLPlayItf.GetPosition HEADATMARKER HEADATNEWPOSITION SLVolumeItf.EnableStereoPosition SetStereoPosition SLMuteSoloItf SLPlaybackRateItf Support for those features will be reintegrated in subsequent CLs. Change-Id: I8d7f6ea006eb7b876ef1ca1909d74b4517335850
Engine.c
PrefetchStatus.c
|
faea005a67ba7e75faea571c521ad2e44fe3dc27 |
05-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Fix bug in last commit Always read the documentation: - Add hooks for new OpenMAX AL interfaces - Since OpenSL ES engine interface has a deinit hook, add one for OpenMAX AL also Change-Id: I266bf2112e6f8e525e5b3c06bbb6a68a4764e978
Engine.c
|
a361b51914aeb5f8f65c7ecad719d1e01f90913b |
04-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Add basis for future OpenMAX AL 1.0.1 interfaces Bug fix: OpenMAX AL media player was using SL instead of XA symbols for the Object and DynamicInterfaceManagement interfaces. A Object::GetInterface using the XA symbols would have failed. Fortunately, these are not used in typical applications. Minor cleanup: - Add README.txt for mphtogen tool - Fix clang warning - Update comments - Remove spurious commas - Fix warning at declaration of SL_IID_array - SL_IID_ANDROIDBUFFERQUEUE was added in API level 12, not 10 Change-Id: I75abced5bc3c3fdabe40face25463810de741bf2
LEDArray.c
Object.c
|
63c002ab68761be0eace98f28320d8eb2f3f7695 |
28-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Clean up main header There are many includes in sles_allinclusive.h that should be moved to the files that rely on those headers. This is a first cleanup to move Android audio effect related headers to where they belong. + one relocation for a media server related file. More to come with AudioPlayer refactoring. Change-Id: I181dde96db522d9cfb537dffea18ba57f855b99e
BassBoost.c
EnvironmentalReverb.c
Equalizer.c
Virtualizer.c
|
83ac345e264c1e22b7a2f1a110b2fe92473394ec |
19-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 4109988 fix deadlock on destroy Fix deadlock with an AudioPlayer playing from a PCM buffer queue. This type of player uses an AudioTrack that pulls data through its callback from a buffer queue. This issue is that when you destroy the player (whick locks the object), it tries to destroy the AudioTrack object. The AudioTrack destructor can only finish when the AudioTrack callback thread can exit. If a callback was underway when trying to destroy the object, a race condition existed for the AudioPlayer lock. The fix consists in using the "pre-destroy" hook for the AudioPlayer object. In it, we unlock the AudioPlayer, and block until the AudioTrack callback has signaled it's done. The pre-destroy hook also marks the track as "about to be destroyed" so any callback that gets called once the pre-destroy hook has been called can return immediately. Change-Id: I4ca69157ff381232c1edc8fb576c6d9e90c2777f
Engine.c
|
e9236d046fdb5cac0696c42e03443a2439188146 |
16-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 clean logs, PTS should be unsigned - Don't pollute logs. - Save MPEG-2 PTS as an unsigned 64bit value, negative values are invalid. Change-Id: I51d427789dd1e42219a63c68159f2e28628f0448
AndroidBufferQueue.c
|
a9a0940d9fc974b5f481bd7385874b3f170431b0 |
16-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1
|
1c853a41d9d9886e60618a7c878ce3912f46bf3c |
15-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 callback mask for TS streaming - declare a "buffer event" item key and the event mask matching the OpenSL ES 1.1 buffer queue event mask - added a buffer state field in AdvancedBufferHeader to keep track of the lifecycle of a buffer in the queue - in StreamPlayer, store a constant to be sent as the item each time a buffer is dequeued because it's been processed - fix bug in playStream test app where after clearing the queue, the data was read to the last dequeued buffer address, rather than at the beginning of the cache. Change-Id: I07141c8a913dfedeb9fde41d80afbce794ab7379
AndroidBufferQueue.c
Engine.c
|
2eac6c23b7bd8985e5bc842b9dec9fa3980dd100 |
15-Mar-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 4099355 workaround gcc x86 problem Change-Id: Ib9e2fc9eb58bef73772d8c617023f689b514e3a1
StreamInformation.c
StreamInformation.cpp
|
f925f794a1c2c460c9c8409612fa943e983bfb7d |
15-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Unbreak the x86 build Looks like the x86 compiler does't like placement new. Commenting out offending line until a proper fix (wrap Vector initialization in another object) is implemented. Change-Id: Id35cf7845e4fcb10536c2055263805dbf3cce65b
StreamInformation.c
|
37dc2fccf3f122b79ebd554de209d0a3c94ae161 |
09-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 Implement streamInformation and volume in OpenMAX AL - Implement StreamInformation for video size notification. - Implement the XAVolumeItf for volume control - Fix bug in GUID -> MPH hash. - Fixed typo in GenericPlayer::pause() log - Do not signal a discontinuity automatically when the ABQ is cleared because clearing the queue doesn't imply there will be a discontinuity in the data (e.g. the same data that was cleared could be reenqueued) - In "native-media" test app: add test code to exercise the XAVolumeItf functionality. Change-Id: I9f69f8cacbdce51b6d96d60141ec1d0f645df991
AndroidBufferQueue.c
Engine.c
StreamInformation.c
|
e7bfcdc183454ec959ff51342f0973cabba219b2 |
08-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 Implement Clear() and GetState() for MPEG-2 TS - implemented Clear() in AndroidBufferQueue - declared and implemented GetState() in AndroidBufferQueue - fixed typo in AudioPlayer_to_android.cpp that cause a "case" to be compiled as a label (no unused label warning from compiler) - more test in sandbox/streamSource Change-Id: If4eede16430cda943224bf950669cc105ac2f894
AndroidBufferQueue.c
|
70c49ae2867094072a4365423417ea452bf82231 |
07-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 support commands in SLAndroidBufferQueueItf Support for EOS, DISCONTINUITY, and DISCONTINUITY with a PTS. - in IAndroidBufferQueue structure, added buffer type - modified AdvancedBufferHeader structure to have a buffer type-specific structure that contains all the items for each buffer - added parsing of items when enqueueing a buffer - enforce buffer size enqueue to be a multiple of MPEG-2 TS block size for buffer of the corresponding types - when enqueueing a buffer on an empty queue, implemented an asynchronous notification on StreamPlayer to consume the newly queued buffer. Verified this kicks off playback after having starved the framework for buffers. - report unknown duration when using AndroidBufferQueue Change-Id: I9bde97a6c6ffca7d376b4963313b820b35f50a26
AndroidBufferQueue.c
Engine.c
|
d158d31a6bbb06426b71c3d097b7768bc3fb79a3 |
04-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3329759 TS streaming over SLAndroidBufferQueueItf Modify the SLAndroidBufferQueueItf interface to offer a model where buffers of data can be queued along with commands (messages) when used for playback, or buffers of data can be received along with metadata (messages) changes: - new callback and enqueue functions in SLAndroidBufferQueueItf and XAAndroidBufferQueueItf. - definition of a new struct, AdvancedBufferHeader, for the buffers in the queue. - decoupling of the "buffer available to be filled" from SF and the call to the ABQ callback. Implemented in new file AndroidBufferQueueSource.cpp - source/sink checks and memory allocation when creating an AudioPlayer or MediaPlayer that uses SLAndroidBufferQueueItf, and verifying the data fed to the ABQ is declared as SL_CONTAINERTYPE_MPEG_TS - updated tests/native-media XA demo code, and tests/sandbox/streamSource to use the new interface. Change-Id: I48e44f346e718041d835fde51e349923fcc1f4b1
AndroidBufferQueue.c
BufferQueue.c
Engine.c
Play.c
|
e1bdb40cf6e255a6a4a0e996d4236048c059ae4c |
24-Feb-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Merge "OpenMAX AL: consolidate MediaPlayer implementations under superclass"
|
68d56b8ebaf60184a3aef988e3d2b09ed8b88c05 |
24-Feb-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenMAX AL: consolidate MediaPlayer implementations under superclass The OpenMAX AL MediaPlayer object has two implementations: one for playing from URI/FD (LocAVPlayer) and one for playing from AndroidBufferQueue (StreamPlayer). They both inherit from AVPlayer. This CL makes LocAVPlayer and StreamPlayer inherit from GenericMediaPlayer (new name of AVPlayer) which encapsulates the interaction with an android::MediaPlayer instance running in the media server process. Also it makes GenericMediaPlayer inherit from GenericPlayer, the player superclass also used in OpenSL ES. After this CL, the OpenMAX AL and OpenSL ES have a common class hierarchy for their players. Change-Id: I5f6e279fc29b7f6f26c9ed5c83a9455cfda88ff4
Engine.c
|
974beb3f585025e4666f0ea1cc5b13eb49975082 |
23-Feb-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3266825 partial fix This was a copy/paste bug that caused AddInterface to corrupt the v-table. Change-Id: I93cd8d58c2a95d1dd9e9f139bc9f4a73d96351ed
DynamicInterfaceManagement.c
|
13837cf3f7be0eb8b1a9552bd99a89f98c987720 |
01-Feb-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenSL ES: support decode to PCM buffer queue Created a new audio player class, APlayer, from which we derive subclasses to encapsulate OpenSL ES AudioPlayer implementations: - ASfPlayer derives from APlayer and encapsulates StageFright functionality for audio decoding to a buffer - ADecoder derives from ASfPlayer and encapsulates rendering the decoded audio data to a callback function. It interfaces with the OpenSL ES Buffer Queue interface to pass the decoded data back to an OpenSL ES application. For OpenSL ES, to support decoding to a Buffer Queue, we now allow an AudioPlayer to have its sink be a PCM buffer queue. Change-Id: I9aefeb0375a71f7ca770c5c62b4fb8faf59c9c23
Engine.c
|
2d427f091ef1cf6c1694e3ee5f3521166502a7b1 |
19-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
am 50bccde0: Rename class__ to clazz, this to thiz * commit '50bccde01980ae803b8656e8b08ecacb65540f50': Rename class__ to clazz, this to thiz
|
bcc5c7225e3b7a1dbf2e9e830987f69167acf06f |
18-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Rename class__ to clazz, this to thiz The JNI naming conventions avoid conflict with C++ reserved words. Change-Id: I93ad6920bf78c0a02ac4b2650a29c9e11252f731
3DCommit.c
3DDoppler.c
3DGrouping.c
3DLocation.c
3DMacroscopic.c
3DSource.c
AndroidBufferQueue.c
AndroidConfiguration.c
AndroidEffect.cpp
AndroidEffectCapabilities.c
AndroidEffectSend.c
AudioDecoderCapabilities.c
AudioEncoder.c
AudioEncoderCapabilities.c
AudioIODeviceCapabilities.c
BassBoost.c
BufferQueue.c
DeviceVolume.c
DynamicInterfaceManagement.c
DynamicSource.c
EffectSend.c
Engine.c
EngineCapabilities.c
EnvironmentalReverb.c
Equalizer.c
LEDArray.c
MIDIMessage.c
MIDIMuteSolo.c
MIDITempo.c
MIDITime.c
MetadataExtraction.c
MetadataTraversal.c
MuteSolo.c
Object.c
OutputMix.c
OutputMixExt.c
Pitch.c
Play.c
PlaybackRate.c
PrefetchStatus.c
PresetReverb.c
RatePitch.c
Record.c
Seek.c
StreamInformation.c
ThreadSync.c
Vibra.c
Virtualizer.c
Visualization.c
Volume.c
|
70a060e1bbeeeb742a5f58cd9436f9a059be6dff |
17-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
am cd087fad: This bug caught in code review (not used yet) * commit 'cd087fadb8876b06f160f77938c30dbf58c8b21b': This bug caught in code review (not used yet)
|
eec920e375c5c4b7ea6e8f2e32547c37d45c0758 |
17-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
am 2eccd4f7: Merge "SMP safety: can\'t peek/poke without a barrier" into honeycomb * commit '2eccd4f74f1cdaa1eb9bdaef849bfbbf9f1fe810': SMP safety: can't peek/poke without a barrier
|
d754f64b2974640fba1dcef9440615b7901e741e |
17-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
am 01a4e4fc: Bug 3360707 * commit '01a4e4fc58aa22b1381e370c745ea26bca56dad1': Bug 3360707
|
86f60279e18a4b8db0c8055ef9c7568456acac60 |
16-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
This bug caught in code review (not used yet) Change-Id: I544447d7a91909258a7d43da1e42e1c98b638c19
Vibra.c
|
a4ddda6136a851036df28ae9b160e63d26adedf5 |
16-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "SMP safety: can't peek/poke without a barrier" into honeycomb
|
5c8bd83295b2752bb7ac34f83dfb19dcdb1be5e5 |
16-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
SMP safety: can't peek/poke without a barrier Change-Id: I97a78322b7b93440ad989b7a6aef4ba3c48a2b7f
AndroidEffectCapabilities.c
|
b4b857ba9ede4cd0f7185c50d34217b06182ee7b |
16-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3360707 Change-Id: I4a021ba7fa1f3807a658ee1336bf32b9d6728f3e
AndroidEffectSend.c
|
105e1b828063c07e000e642d225881bdcd93f4de |
13-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Update SDK level on master branch only Change-Id: I15f5976ba656673112f2d1ab006fe417a4fccd22
Engine.c
|
262059f71a68edc5e510427c63f5f1623d3672a8 |
12-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Directory re-organization Change-Id: I8e3f12a22e765d36ddefd87edf204735b25474f6
3DCommit.c
3DDoppler.c
3DGrouping.c
3DLocation.c
3DMacroscopic.c
3DSource.c
AndroidBufferQueue.c
AndroidConfiguration.c
AndroidEffect.cpp
AndroidEffectCapabilities.c
AndroidEffectSend.c
AudioDecoderCapabilities.c
AudioEncoder.c
AudioEncoderCapabilities.c
AudioIODeviceCapabilities.c
BassBoost.c
BufferQueue.c
DeviceVolume.c
DynamicInterfaceManagement.c
DynamicSource.c
EffectSend.c
Engine.c
EngineCapabilities.c
EnvironmentalReverb.c
Equalizer.c
LEDArray.c
MIDIMessage.c
MIDIMuteSolo.c
MIDITempo.c
MIDITime.c
MetadataExtraction.c
MetadataTraversal.c
MuteSolo.c
Object.c
OutputMix.c
OutputMixExt.c
Pitch.c
Play.c
PlaybackRate.c
PrefetchStatus.c
PresetReverb.c
RatePitch.c
Record.c
Seek.c
StreamInformation.c
ThreadSync.c
Vibra.c
Virtualizer.c
Visualization.c
Volume.c
|