When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems:
- 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger.
- 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between.
The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
* changes:
Suppress the testPing as we moved the release test target to the userdebug. This test rely on a mock_media_player.so which build under the eng build
* changes:
1) Add the wma / wmv profile reader. 2) Add the flag which check the wma/wmv enable properties. If the codec is not enable, then skip the wma / wmv related test cases. 3) Added a workaround which let the testcodecspecific test case continue even though there is a failure in the middle of the test. Besides, take out the remvoeFile for temporary usage.
2) Add the flag which check the wma/wmv enable properties. If the codec is not enable, then skip the wma / wmv related test cases.
3) Added a workaround which let the testcodecspecific test case continue even though there is a failure in the middle of the test. Besides, take out the remvoeFile for temporary usage.
* changes:
modified: MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaRecorderStressTest.java Added the error callback to handle the media server crash.
* changes:
Fix bug 2115258 where the AudioManager javadoc doesn't warn against misuse of some of the methods that should only be used to implement the Settings and Phone apps, and the audio service.
Added the error callback to handle the media server crash.
modified: MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaRecorderStressTest.java
* changes:
new file: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java modified: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java Added a new test suite which parse the system media properties and group in into the high quality and low quality recording tests.
This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
modified: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java
Added a new test suite which parse the system media properties and group in into the high quality and low quality recording tests.
new file: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
modified: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java
modified: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java
Fix the m4a1 duration and the also fix the random_seek time error in the stress test.
modified: tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java