diff options
author | Marco Nelissen <marcone@google.com> | 2015-05-27 12:33:03 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2015-05-27 12:33:03 -0700 |
commit | e796ff912ecae57d8cb34c9366b3596fc1029fd8 (patch) | |
tree | 02ffe875c4dca943327dd2085b19c3c6442e1715 /media/tests/MediaFrameworkTest | |
parent | f981ea95f2e951a558f73fb941cf006423e52627 (diff) | |
download | frameworks_base-e796ff912ecae57d8cb34c9366b3596fc1029fd8.zip frameworks_base-e796ff912ecae57d8cb34c9366b3596fc1029fd8.tar.gz frameworks_base-e796ff912ecae57d8cb34c9366b3596fc1029fd8.tar.bz2 |
Handle unknown duration in playMediaSamples test
Bug: 21391417
Change-Id: I85d8f5921e8423da078acfe3aff34a6fcef69e78
Diffstat (limited to 'media/tests/MediaFrameworkTest')
-rw-r--r-- | media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java index 66ed933..bcfcbf3 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java @@ -823,13 +823,20 @@ public class CodecTest { duration = mMediaPlayer.getDuration(); // start to play mMediaPlayer.start(); - waittime = duration - mMediaPlayer.getCurrentPosition(); - synchronized(onCompletion){ - try { - onCompletion.wait(waittime + buffertime); - }catch (Exception e) { - Log.v(TAG, "playMediaSamples are interrupted"); - return false; + if (duration < 0) { + Log.w(TAG, filePath + " has unknown duration, waiting until playback completes"); + while (mMediaPlayer.isPlaying()) { + SystemClock.sleep(1000); + } + } else { + waittime = duration - mMediaPlayer.getCurrentPosition(); + synchronized(onCompletion){ + try { + onCompletion.wait(waittime + buffertime); + } catch (Exception e) { + Log.v(TAG, "playMediaSamples are interrupted"); + return false; + } } } terminateMessageLooper(); |