OSDN Git Service

Fix for issue 3399126 Overlay displayed over next clip
authorSantosh Madhava <smadhava@google.com>
Fri, 28 Jan 2011 00:27:12 +0000 (16:27 -0800)
committerSantosh Madhava <smadhava@google.com>
Fri, 28 Jan 2011 00:44:19 +0000 (16:44 -0800)
Change-Id: If2baf25bfe10cd4034db827c0333b3020bbd3087

libvideoeditor/lvpp/PreviewPlayer.cpp

index 7ad822b..a23e6ca 100644 (file)
@@ -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\r                // to the audio track.\r                if (mSeeking) {\r                    LOGV("video stream ended while seeking!");\r                }\r                finishSeekIfNecessary(-1);\r
+                // 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.\r            latenessUs = 0;\r        }\r
+            // 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 {