summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-10-23 15:11:29 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-23 15:11:29 -0700
commitadd3dfc488c8f21cd7a9c95cefeb1d2937d07e51 (patch)
treec5c715efabe7a5a26e6b4227b73d1f63d59722f3 /media
parent07fd6c218a47ef3250d1b56b932a6877f9efacfc (diff)
parent93a209fe6ee0c7251afe47153f6af5ad38b8dde9 (diff)
downloadframeworks_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.cpp26
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) {