History log of /system/media/opensles/tests/automated/BufferQueue_test.cpp
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/tests/automated/BufferQueue_test.cpp
9a889c24ace7bbc9659e1531d7a61dc43452d7c0 06-Oct-2010 Glenn Kasten <gkasten@google.com> Interface testing and bug fixes

Add some new tests, and fix the bugs they found.

New and improved tests:
Added output mix API test with focus on interfaces.
Add mute solo and seek test cases to the automated buffer queue test.
Buffer queue configuration test is now listenable:
Buffer queue configuration test now generates a sequence of sine
waves in order so that the listener can tell if each format is
supported correctly.

Bug fixes:
Engine::Create... was not checking if the interface was available
for a particular class. Fixing that bug showed some other bugs
in the class/interface configuration tables.
The effects interfaces is available on an output mix.
The Volume interface is not available on an output mix.
The Object interface can do GetInterface before realized.
OutputMix interface is available on an OutputMix;
needed by the demos/examples in back of book
OutputMix::ReRoute fails if number of output device IDs is not 1.
Improve interface checks on a buffer queue source.
Don't allow mute solo interface on a mono buffer queue.
The earlier code to check for seek interface on a buffer queue
compared by address, which didn't work if application
used a private copy of the GUID. Now compares using the
MPH which will work in all cases.
Buffer queue, effect send, and mute solo are explicit interfaces on audio player.
slCreateEngine was not publishing the engine object.

Miscellaneous cleanup:
Removed the hard-coded fake device ID constants in
OutputMix::ReRoute that were there just for testing.
In Engine::Create..., log an error for all unsupported interfaces, not just the first one.
Make hash generator build again:
It turns out interfaces.c is needed, even though it duplicates
OpenSLESUT.c. Restore from 1a6bb4f8e738c9387dc9629db294ea5de618a53c.
Remove some redundant comments.

Change-Id: Iddabe73e298b69a44f3b43ed224c918eb95961a1
/system/media/opensles/tests/automated/BufferQueue_test.cpp
48969e39faa340d20b6bcab7c7e27c711be85654 24-Sep-2010 Glenn Kasten <gkasten@google.com> Fix problems found during testing

Fix crash in android_audioPlayer_destroy if audio player is only partially
constructed, e.g. when using a buffer queue source and the buffer count
is invalid etc.
Add temporary workaround to buffer queue automated test to be quieter if
hardware volume control is not working.
Make the record test less noisy on console.

Change-Id: Ief255c3f5f3c94c990f589b2373686b2ac526dd3
/system/media/opensles/tests/automated/BufferQueue_test.cpp
3ac54e4d6e699467b608a4f0eda6023d50d3cd61 23-Sep-2010 Glenn Kasten <gkasten@google.com> Fix bug found by BufferQueue automated test

Fix bug for destroying partially constructed audio player.
Remove obsolete logging.

Change-Id: Ib186153bf50ed1311c021d53711ec90d000bdee2
/system/media/opensles/tests/automated/BufferQueue_test.cpp
b0a0555e2fcad41d3ee0c45f0f75ed556dbee282 01-Sep-2010 Glenn Kasten <gkasten@google.com> Verify that no extant objects at engine shutdown

Log the total count and ID numbers of any stragglers.
Fix the order of steps in engine shutdown.
Add more comments.

Change-Id: I12b531bcd43c288f9988768193274bad6984748a
/system/media/opensles/tests/automated/BufferQueue_test.cpp
d9b6517b0b1820d73a5a927824d495595b556106 28-Aug-2010 Glenn Kasten <gkasten@google.com> Buffer queue automated test update

Make it run on desktop as well as Android, so we can use desktop driver
for comparison, and get test coverage using gcov.
Use slesutResultToString for error reporting.
Run each test case for all valid numbers of buffers.

Change-Id: If7753a0e77f4a906a41eae90135e1bc84531f2fc
/system/media/opensles/tests/automated/BufferQueue_test.cpp
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/tests/automated/BufferQueue_test.cpp
4faf394f4a6da687d1b1adfb925fea2b2660268a 21-Aug-2010 Glenn Kasten <gkasten@google.com> Test reorganization

Change-Id: I0fb84afd72fe6839773937fdaece3276bba1b952
/system/media/opensles/tests/automated/BufferQueue_test.cpp