diff options
author | Andreas Huber <andih@google.com> | 2012-10-23 15:11:29 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-23 15:11:29 -0700 |
commit | add3dfc488c8f21cd7a9c95cefeb1d2937d07e51 (patch) | |
tree | c5c715efabe7a5a26e6b4227b73d1f63d59722f3 /media | |
parent | 07fd6c218a47ef3250d1b56b932a6877f9efacfc (diff) | |
parent | 93a209fe6ee0c7251afe47153f6af5ad38b8dde9 (diff) | |
download | frameworks_av-add3dfc488c8f21cd7a9c95cefeb1d2937d07e51.zip frameworks_av-add3dfc488c8f21cd7a9c95cefeb1d2937d07e51.tar.gz frameworks_av-add3dfc488c8f21cd7a9c95cefeb1d2937d07e51.tar.bz2 |
am ac1a450a: Merge "Don\'t attempt to seek audio and video separately." into jb-mr1-dev
* commit 'ac1a450a76c2f42f66c876200cb724d1e93ef4c7':
Don't attempt to seek audio and video separately.
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/AwesomePlayer.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 685e676..1e2625a 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -1707,7 +1707,8 @@ void AwesomePlayer::onVideoEvent() { } } - if ((mFlags & TEXTPLAYER_INITIALIZED) && !(mFlags & (TEXT_RUNNING | SEEK_PREVIEW))) { + if ((mFlags & TEXTPLAYER_INITIALIZED) + && !(mFlags & (TEXT_RUNNING | SEEK_PREVIEW))) { mTextDriver->start(); modifyFlags(TEXT_RUNNING, SET); } @@ -1753,17 +1754,24 @@ void AwesomePlayer::onVideoEvent() { && mAudioPlayer != NULL && mAudioPlayer->getMediaTimeMapping( &realTimeUs, &mediaTimeUs)) { - ALOGI("we're much too late (%.2f secs), video skipping ahead", - latenessUs / 1E6); + if (mWVMExtractor == NULL) { + ALOGI("we're much too late (%.2f secs), video skipping ahead", + latenessUs / 1E6); - mVideoBuffer->release(); - mVideoBuffer = NULL; + mVideoBuffer->release(); + mVideoBuffer = NULL; - mSeeking = SEEK_VIDEO_ONLY; - mSeekTimeUs = mediaTimeUs; + mSeeking = SEEK_VIDEO_ONLY; + mSeekTimeUs = mediaTimeUs; - postVideoEvent_l(); - return; + postVideoEvent_l(); + return; + } else { + // The widevine extractor doesn't deal well with seeking + // audio and video independently. We'll just have to wait + // until the decoder catches up, which won't be long at all. + ALOGI("we're very late (%.2f secs)", latenessUs / 1E6); + } } if (latenessUs > 40000) { |