Fix for issue : 3439708 Last frame is missing effect
Change-Id: I533695f4154d4ebce4e8f1ff39a622ca4fd62430
diff --git a/libvideoeditor/lvpp/VideoEditorPreviewController.cpp b/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
index e7a767a..e6f6052 100755
--- a/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
+++ b/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
@@ -50,6 +50,7 @@
mOutputVideoWidth(0),
mOutputVideoHeight(0),
bStopThreadInProgress(false),
+ mOverlayState(OVERLAY_CLEAR),
mSemThreadWait(NULL) {
LOGV("VideoEditorPreviewController");
mRenderingMode = M4xVSS_kBlackBorders;
@@ -138,6 +139,8 @@
mTarget = NULL;
}
+ mOverlayState = OVERLAY_CLEAR;
+
LOGV("~VideoEditorPreviewController returns");
}
@@ -1128,6 +1131,21 @@
pController->mJniCookie, MSG_TYPE_PROGRESS_INDICATION,
&playedDuration);
+ if ((pController->mOverlayState == OVERLAY_UPDATE) &&
+ (pController->mCurrentClipNumber !=
+ (pController->mNumberClipsToPreview-1))) {
+ VideoEditorCurretEditInfo *pEditInfo =
+ (VideoEditorCurretEditInfo*)M4OSA_malloc(sizeof(VideoEditorCurretEditInfo),
+ M4VS, (M4OSA_Char*)"Current Edit info");
+ pEditInfo->overlaySettingsIndex = ext2;
+ pEditInfo->clipIndex = pController->mCurrentClipNumber;
+ pController->mOverlayState == OVERLAY_CLEAR;
+ if (pController->mJniCallback != NULL) {
+ pController->mJniCallback(pController->mJniCookie,
+ MSG_TYPE_OVERLAY_CLEAR, pEditInfo);
+ }
+ M4OSA_free((M4OSA_MemAddr32)pEditInfo);
+ }
M4OSA_semaphorePost(pController->mSemThreadWait);
break;
}
@@ -1194,9 +1212,11 @@
LOGV("pController->mCurrentClipNumber = %d",pController->mCurrentClipNumber);
if (pController->mJniCallback != NULL) {
if (ext1 == 1) {
+ pController->mOverlayState = OVERLAY_UPDATE;
pController->mJniCallback(pController->mJniCookie,
MSG_TYPE_OVERLAY_UPDATE, pEditInfo);
} else {
+ pController->mOverlayState = OVERLAY_CLEAR;
pController->mJniCallback(pController->mJniCookie,
MSG_TYPE_OVERLAY_CLEAR, pEditInfo);
}