History log of /system/media/opensles/libopensles/trace.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67829bfddb97775be06af15dd8181611b4af581e 13-Oct-2010 Glenn Kasten <gkasten@google.com> Bug 3102561 - Tests and examples only

Note: the modifications in directory libopensles aid testing,
but have no affect on production builds because they are related
to tracing, which is is disabled by default.

Update feedback test to be more reliable.
Update slesTestPlayUri to exit on prefetch error.
Clean up error and termination handling.
Add comment to record test on how to use it.
Reduce global symbol dependencies when trace is enabled.
Split OpenSLESUT into two files: part that uses printf, and another part that doesn't.
Add SL_RESULT_ prefix to result strings.
slesutResultToString returns NULL for unknown value.
Add multithread torture test.
Compile stream test for non-Android as a no-op.
Improve API test coverage.
Enable assertion checks on test programs.

Change-Id: I6b82026cfa19d2f08cda4c11137e0706e8ff4b8c
/system/media/opensles/libopensles/trace.c
51cb31b09f6af53402b3fbe7e9de29badc1155a2 21-Sep-2010 Glenn Kasten <gkasten@google.com> As part of API review, disable incomplete profiles

Don't compile dead code relating to unsupported features, but keep profiles for CT.
Move whole file conditionals from the source code to Android.mk,
by just not compiling the module for unsupported features.
There must an interface initialization hook present to expose an
interface implicitly or explicitly at object creation time, or
to dynamically add an interface after the object is created. As
a safety check, we also double-check for the initialization hook
when the application does a GetInterface.

Miscellaneous bug fixes:
- Fix warning "variable may be used uninitialized in this function".
- Fix build errors on SDL.
- Was using the wrong conditional for SDL.
- Fix typo mInterfaceContinued -> mInterfaceStates2 in AudioRecorder.
- Fix typo in IEngineCapabilities_init.

Other cleanup:
- Move ugly SDL-specific stuff out of the portable code.
- Combine duplicated code in CAudioPlayerDestroy and
CAudioRecorder_Destroy for freeing buffer queue memory.
- Add curlies to if and do statements.
- Line length 100.
- Decrease engine voices from 32 to 30 (based on max of 32 objects, 1 engine, 1 output mix).
- Disable IRecord_init log.
- Add symbolic link for Android configuration header file.
- Enable trace on Android.
- sl_int64_t is now unconditionally defined rather than only if
ANDROID defined, because it is used by OpenSLES_Android.h which
might be included by SDL also.
- Removed symlink for Android headers

Change-Id: I1a6389257bca09e3819923129a1193473e16669b
/system/media/opensles/libopensles/trace.c
03716fc64636a68ba59881508e80550b948f0f40 20-Sep-2010 Glenn Kasten <gkasten@google.com> Update logging

Fix bug in ifdef __cplusplus for OpenSLES_Android.h.
Clean up, simplify, and change level of a few log messages.
Use SL_LOGx macros instead of LOGx in SfPlayer.cpp.
Add comments regarding unsupported runtime log level checks.
Line length 100.

Change-Id: I52441ed6fbe9550248fa1b6944fc8e199f1f2724
/system/media/opensles/libopensles/trace.c
79e18e9156c0184720041ac3803e952d5b2723c8 20-Sep-2010 Glenn Kasten <gkasten@google.com> Enable semi-standard logging (does not use LOG macros)

This is a workaround for conflict in Stagefright's definition of LOG.

Change-Id: I985e2c08d6e86a1664654a2e8a0b8aea145b32ba
/system/media/opensles/libopensles/trace.c
974aacf14bfe6869b7d0cda3abcaef46af335487 26-Aug-2010 Glenn Kasten <gkasten@google.com> Fix bugs in BufferQueue automated test and related

Fix test bugs:
Clean up the player, mixer, and the engine (must be done in that order).
Re-enable 2 more tests; all 9 tests pass now.

Fix engine bugs:
IObject now has a de-init hook, which cleans up condition variable and mutex.
Run the de-initializers in reverse order so that IObject de-init hook is run last.
Replace the dedicated mEngine.mShutdownCond by the shared IObject condition variable.
Forgot to iniitalize mShtudownAck.
Unlocking the object mutex during CEngine_Destroy was bogus.

Miscellaneous logging and debugging improvements:
Track the source code location of the most recent mutex unlock.
Add more trace log options for detailed leave reasons.
Improve performance of trace log when disabled.
Turn on assert checking.
Check return value of pthread_cond_destroy and pthread_mutex_destroy.
Add comment.
Line length 100.

Change-Id: I23b7b495d439894b2fd31295a38cb73ef7b6be2e
/system/media/opensles/libopensles/trace.c
9c03f04a9c6cc2a821182c8be8f2efe964a27efe 13-Aug-2010 Glenn Kasten <gkasten@google.com> Make internal implicit interfaces safer.

Add IsInterfaceInitialized.
Don't directly manipulate a buffer queue.
Call the interface via it's named entry points, not the v-table as it may not be initialized/available.
GetInterface enables the v-table not init.
Update Doxygen comments.
Line length 100.
Allow bool, true, and false in C code.
Add a verbose option to seek torture test.

Change-Id: I37c42834422759b881d2ffe4b171d9aa284fde98
/system/media/opensles/libopensles/trace.c
29745d2982365fb0a2a0d28b366aefc0ab79f965 04-Aug-2010 Glenn Kasten <gkasten@google.com> Update logging.

Change-Id: I41f47c400adc1fb13a6d8ba88715a09c52855de4
/system/media/opensles/libopensles/trace.c
a45db1a5cabede18909327d84dbd6f92c5a0ce3d 29-Jul-2010 Glenn Kasten <gkasten@google.com> Fix build warning on Linux native.

Change-Id: Id994888dc4be9cf9df44c3cf6222847d6422543b
/system/media/opensles/libopensles/trace.c
793ddb6dae36d6b5abf5a75f8f51b4182c5646d1 28-Jul-2010 Glenn Kasten <gkasten@google.com> Rename the utility toolkit static library.

Change-Id: I8809aa5db6a259a0eb308f0e926e1922f9c9ea16
/system/media/opensles/libopensles/trace.c
23c38816f7c210afae5072fd44658c98fec7e119 17-Jul-2010 Glenn Kasten <gkasten@google.com> Buffer queue and audio player maintenance.

Known problems on Android only (SDL is ok):
High latency on first enqueue, or first after buffer underrun
Play after stop does not resume the current buffer.

Improvements:
Implement BufferQueue::Clear for both Android and SDL.
Play::SetPlayState to Stopped now works for SDL (not yet for Android), and
sets play cursor to start of current buffer.
Play::Pause and Play::Stop while playing now block until done for SDL.
SDL now calls buffer queue callback after each buffer completion, instead of when mixer needs a buffer.
Move SF_INFO sfinfo to CAudioPlayer so we always have good stuff like the sample rate etc.
BufferQueue::Enqueue on a successful enqueue to a formerly empty queue
now kicks off an attribute change followed by a synchronous call to a
hook when first buffer enqueued. Currently unused but could be a way to reduce latency.
Minor comment changes.
Add interface_cond_broadcast.
More logging of errors.
Include source file and line number in logs.
sles_to_android.cpp: needs code for #if 0 sections.
Disable trace logging of BufferQueue::Enqueue and GetState.
Fix printf warnings.
Fix typo in number of interfaces requested at CreateAudioPlayer.
Remove spurious printf and while loop.
Line length 100.
Add intermediate play states which need to be re-mapped.
Fix printf format warnings.
Re-organize the buffer queue initialization.
Implement true seeking based on position for libsndfile.
SndFile is working again, but just barely.
Make it build on non-Android platforms.
BufferQueue::RegisterCallback now checks for STOPPED play state.
Include function name in trace logs.
Enhance test to check buffer queue callbacks, get buffer queue state, get play state.
Fix bug with Stop while Paused not resetting buffer pointer.
Remove obsolete comments and #if 0.
Set enqueue attribute is state is PLAYING and the first buffer is enqueued.
Added slutPrintIIDs.
Update comments.
Fix build warnings.
Fix compile error introduced by the merge.
Fix runtime problems introduced during the merge.
Address code review comments:
- BufferQueue changes apply to AudioRecord also.
- Rename to conform to new naming conventions.
- Add comments.
Fix build warning.
Add interactive buffer queue test application.

Change-Id: I5b00545a599fd9dba96efb834fca2369d149eaaa
/system/media/opensles/libopensles/trace.c
f51f5c6ec99ebc8f2c833a68f232bc1c874a7f2f 09-Jul-2010 Glenn Kasten <gkasten@google.com> Bug fix and general code cleanup.

Trace debug now uses Android logging by LOGV/LOGE.
Added SL Utility Toolkit for OpenSL ES, similar to OpenAL UT.
Add a -DUSE_TRACE instead of -DNDEBUG and add it commented out to Android.mk.
LOGE for error returns, LOGV for all entry and exit.
Rename debug.c to trace.c.
slutPrintIID prints the symbolic name if known.
Fix bug in slQueryNumSupportedEngineInterfaces and
slQuerySupportedEngineInterfaces which were not
skipping over unavailable interfaces.
Use USE_CONFORMANCE to return SL_RESULT_FEATURE_UNSUPPORTED when not supported
and make some interfaces unavailable depending on USE_CONFORMANCE.
Move most FIXME to separate bug/to-do list.
Fix possible intermediate overflow in duration computation for sndfile.
Line length 100.
Address code review comments, disable LOG.
/system/media/opensles/libopensles/trace.c