summaryrefslogtreecommitdiffstats
path: root/libvideoeditor/lvpp/PreviewPlayer.cpp
diff options
context:
space:
mode:
authorSantosh Madhava <smadhava@google.com>2011-01-27 16:27:12 -0800
committerSantosh Madhava <smadhava@google.com>2011-01-27 16:44:19 -0800
commit342f932f6312be84a48512216b561ead42b53199 (patch)
treed39890c22b3ffd6dc0672a72b5db6952803d8e33 /libvideoeditor/lvpp/PreviewPlayer.cpp
parentab639fac88f5513587be5bbaab3dd7d3b68e7e53 (diff)
downloadframeworks_av-342f932f6312be84a48512216b561ead42b53199.zip
frameworks_av-342f932f6312be84a48512216b561ead42b53199.tar.gz
frameworks_av-342f932f6312be84a48512216b561ead42b53199.tar.bz2
Fix for issue 3399126 Overlay displayed over next clip
Change-Id: If2baf25bfe10cd4034db827c0333b3020bbd3087
Diffstat (limited to 'libvideoeditor/lvpp/PreviewPlayer.cpp')
-rw-r--r--libvideoeditor/lvpp/PreviewPlayer.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/libvideoeditor/lvpp/PreviewPlayer.cpp b/libvideoeditor/lvpp/PreviewPlayer.cpp
index 7ad822b..a23e6ca 100644
--- a/libvideoeditor/lvpp/PreviewPlayer.cpp
+++ b/libvideoeditor/lvpp/PreviewPlayer.cpp
@@ -745,9 +745,17 @@ void PreviewPlayer::onVideoEvent() {
continue;
}
// So video playback is complete, but we may still have
- // a seek request pending that needs to be applied // to the audio track. if (mSeeking) { LOGV("video stream ended while seeking!"); } finishSeekIfNecessary(-1);
+ // a seek request pending that needs to be applied to the audio track
+ if (mSeeking) {
+ LOGV("video stream ended while seeking!");
+ }
+ finishSeekIfNecessary(-1);
LOGV("PreviewPlayer: onVideoEvent EOS reached.");
mFlags |= VIDEO_AT_EOS;
+ if (mOverlayUpdateEventPosted) {
+ mOverlayUpdateEventPosted = false;
+ postOverlayUpdateEvent_l();
+ }
postStreamDoneEvent_l(err);
return;
}
@@ -828,7 +836,9 @@ void PreviewPlayer::onVideoEvent() {
int64_t latenessUs = nowUs - timeUs;
if (wasSeeking) {
- // Let's display the first frame after seeking right away. latenessUs = 0; }
+ // Let's display the first frame after seeking right away.
+ latenessUs = 0;
+ }
LOGV("Audio time stamp = %lld and video time stamp = %lld",
ts->getRealTimeUs(),timeUs);
if (latenessUs > 40000) {
@@ -989,6 +999,10 @@ void PreviewPlayer::onVideoEvent() {
LOGV("PreviewPlayer: onVideoEvent EOS.");
mFlags |= VIDEO_AT_EOS;
mFlags |= AUDIO_AT_EOS;
+ if (mOverlayUpdateEventPosted) {
+ mOverlayUpdateEventPosted = false;
+ postOverlayUpdateEvent_l();
+ }
postStreamDoneEvent_l(ERROR_END_OF_STREAM);
}
else {