Loading libvideoeditor/lvpp/PreviewPlayer.cpp +3 −14 Original line number Original line Diff line number Diff line Loading @@ -808,10 +808,7 @@ void PreviewPlayer::onVideoEvent() { finishSeekIfNecessary(-1); finishSeekIfNecessary(-1); LOGV("PreviewPlayer: onVideoEvent EOS reached."); LOGV("PreviewPlayer: onVideoEvent EOS reached."); mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(err); postStreamDoneEvent_l(err); return; return; } } Loading Loading @@ -937,10 +934,7 @@ void PreviewPlayer::onVideoEvent() { mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; mFlags |= AUDIO_AT_EOS; mFlags |= AUDIO_AT_EOS; LOGV("PreviewPlayer: onVideoEvent timeUs > mPlayEndTime; send EOS.."); LOGV("PreviewPlayer: onVideoEvent timeUs > mPlayEndTime; send EOS.."); if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(ERROR_END_OF_STREAM); postStreamDoneEvent_l(ERROR_END_OF_STREAM); return; return; } } Loading @@ -961,7 +955,6 @@ void PreviewPlayer::onVideoEvent() { ((mEffectsSettings[i].uiStartTime+mEffectsSettings[i].uiDuration) >= ((mEffectsSettings[i].uiStartTime+mEffectsSettings[i].uiDuration) >= (((timeUs+mDecVideoTsStoryBoard)/1000)-mPlayBeginTimeMsec)) (((timeUs+mDecVideoTsStoryBoard)/1000)-mPlayBeginTimeMsec)) && (mEffectsSettings[i].uiDuration != 0)) { && (mEffectsSettings[i].uiDuration != 0)) { setVideoPostProcessingNode( setVideoPostProcessingNode( mEffectsSettings[i].VideoEffectType, TRUE); mEffectsSettings[i].VideoEffectType, TRUE); } } Loading @@ -975,7 +968,6 @@ void PreviewPlayer::onVideoEvent() { if (mCurrentVideoEffect & VIDEO_EFFECT_FRAMING) { if (mCurrentVideoEffect & VIDEO_EFFECT_FRAMING) { mCurrentVideoEffect &= ~VIDEO_EFFECT_FRAMING; //never apply framing here. mCurrentVideoEffect &= ~VIDEO_EFFECT_FRAMING; //never apply framing here. if (!mOverlayUpdateEventPosted) { if (!mOverlayUpdateEventPosted) { // Find the effect in effectSettings array // Find the effect in effectSettings array int index; int index; for (index = 0; index < mNumberEffects; index++) { for (index = 0; index < mNumberEffects; index++) { Loading Loading @@ -1058,10 +1050,7 @@ void PreviewPlayer::onVideoEvent() { LOGV("PreviewPlayer: onVideoEvent EOS."); LOGV("PreviewPlayer: onVideoEvent EOS."); mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; mFlags |= AUDIO_AT_EOS; mFlags |= AUDIO_AT_EOS; if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(ERROR_END_OF_STREAM); postStreamDoneEvent_l(ERROR_END_OF_STREAM); } } else { else { Loading libvideoeditor/lvpp/VideoEditorPreviewController.cpp +20 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ VideoEditorPreviewController::VideoEditorPreviewController() mOutputVideoWidth(0), mOutputVideoWidth(0), mOutputVideoHeight(0), mOutputVideoHeight(0), bStopThreadInProgress(false), bStopThreadInProgress(false), mOverlayState(OVERLAY_CLEAR), mSemThreadWait(NULL) { mSemThreadWait(NULL) { LOGV("VideoEditorPreviewController"); LOGV("VideoEditorPreviewController"); mRenderingMode = M4xVSS_kBlackBorders; mRenderingMode = M4xVSS_kBlackBorders; Loading Loading @@ -138,6 +139,8 @@ VideoEditorPreviewController::~VideoEditorPreviewController() { mTarget = NULL; mTarget = NULL; } } mOverlayState = OVERLAY_CLEAR; LOGV("~VideoEditorPreviewController returns"); LOGV("~VideoEditorPreviewController returns"); } } Loading Loading @@ -1128,6 +1131,21 @@ void VideoEditorPreviewController::notify( pController->mJniCookie, MSG_TYPE_PROGRESS_INDICATION, pController->mJniCookie, MSG_TYPE_PROGRESS_INDICATION, &playedDuration); &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); M4OSA_semaphorePost(pController->mSemThreadWait); break; break; } } Loading Loading @@ -1194,9 +1212,11 @@ void VideoEditorPreviewController::notify( LOGV("pController->mCurrentClipNumber = %d",pController->mCurrentClipNumber); LOGV("pController->mCurrentClipNumber = %d",pController->mCurrentClipNumber); if (pController->mJniCallback != NULL) { if (pController->mJniCallback != NULL) { if (ext1 == 1) { if (ext1 == 1) { pController->mOverlayState = OVERLAY_UPDATE; pController->mJniCallback(pController->mJniCookie, pController->mJniCallback(pController->mJniCookie, MSG_TYPE_OVERLAY_UPDATE, pEditInfo); MSG_TYPE_OVERLAY_UPDATE, pEditInfo); } else { } else { pController->mOverlayState = OVERLAY_CLEAR; pController->mJniCallback(pController->mJniCookie, pController->mJniCallback(pController->mJniCookie, MSG_TYPE_OVERLAY_CLEAR, pEditInfo); MSG_TYPE_OVERLAY_CLEAR, pEditInfo); } } Loading libvideoeditor/lvpp/VideoEditorPreviewController.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,10 @@ typedef enum { VePlayerAutoStop VePlayerAutoStop } VePlayerState; } VePlayerState; typedef enum { OVERLAY_UPDATE = 0, OVERLAY_CLEAR } OverlayState; // Callback mechanism from PreviewController to Jni */ // Callback mechanism from PreviewController to Jni */ typedef void (*jni_progress_callback_fct)(void* cookie, M4OSA_UInt32 msgType, void *argc); typedef void (*jni_progress_callback_fct)(void* cookie, M4OSA_UInt32 msgType, void *argc); Loading Loading @@ -117,6 +121,7 @@ private: M4OSA_UInt32 mFirstPreviewClipBeginTime; M4OSA_UInt32 mFirstPreviewClipBeginTime; M4OSA_UInt32 mLastPreviewClipEndTime; M4OSA_UInt32 mLastPreviewClipEndTime; M4OSA_UInt32 mVideoStoryBoardTimeMsUptoFirstPreviewClip; M4OSA_UInt32 mVideoStoryBoardTimeMsUptoFirstPreviewClip; OverlayState mOverlayState; M4xVSS_MediaRendering mRenderingMode; M4xVSS_MediaRendering mRenderingMode; uint32_t mOutputVideoWidth; uint32_t mOutputVideoWidth; Loading Loading
libvideoeditor/lvpp/PreviewPlayer.cpp +3 −14 Original line number Original line Diff line number Diff line Loading @@ -808,10 +808,7 @@ void PreviewPlayer::onVideoEvent() { finishSeekIfNecessary(-1); finishSeekIfNecessary(-1); LOGV("PreviewPlayer: onVideoEvent EOS reached."); LOGV("PreviewPlayer: onVideoEvent EOS reached."); mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(err); postStreamDoneEvent_l(err); return; return; } } Loading Loading @@ -937,10 +934,7 @@ void PreviewPlayer::onVideoEvent() { mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; mFlags |= AUDIO_AT_EOS; mFlags |= AUDIO_AT_EOS; LOGV("PreviewPlayer: onVideoEvent timeUs > mPlayEndTime; send EOS.."); LOGV("PreviewPlayer: onVideoEvent timeUs > mPlayEndTime; send EOS.."); if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(ERROR_END_OF_STREAM); postStreamDoneEvent_l(ERROR_END_OF_STREAM); return; return; } } Loading @@ -961,7 +955,6 @@ void PreviewPlayer::onVideoEvent() { ((mEffectsSettings[i].uiStartTime+mEffectsSettings[i].uiDuration) >= ((mEffectsSettings[i].uiStartTime+mEffectsSettings[i].uiDuration) >= (((timeUs+mDecVideoTsStoryBoard)/1000)-mPlayBeginTimeMsec)) (((timeUs+mDecVideoTsStoryBoard)/1000)-mPlayBeginTimeMsec)) && (mEffectsSettings[i].uiDuration != 0)) { && (mEffectsSettings[i].uiDuration != 0)) { setVideoPostProcessingNode( setVideoPostProcessingNode( mEffectsSettings[i].VideoEffectType, TRUE); mEffectsSettings[i].VideoEffectType, TRUE); } } Loading @@ -975,7 +968,6 @@ void PreviewPlayer::onVideoEvent() { if (mCurrentVideoEffect & VIDEO_EFFECT_FRAMING) { if (mCurrentVideoEffect & VIDEO_EFFECT_FRAMING) { mCurrentVideoEffect &= ~VIDEO_EFFECT_FRAMING; //never apply framing here. mCurrentVideoEffect &= ~VIDEO_EFFECT_FRAMING; //never apply framing here. if (!mOverlayUpdateEventPosted) { if (!mOverlayUpdateEventPosted) { // Find the effect in effectSettings array // Find the effect in effectSettings array int index; int index; for (index = 0; index < mNumberEffects; index++) { for (index = 0; index < mNumberEffects; index++) { Loading Loading @@ -1058,10 +1050,7 @@ void PreviewPlayer::onVideoEvent() { LOGV("PreviewPlayer: onVideoEvent EOS."); LOGV("PreviewPlayer: onVideoEvent EOS."); mFlags |= VIDEO_AT_EOS; mFlags |= VIDEO_AT_EOS; mFlags |= AUDIO_AT_EOS; mFlags |= AUDIO_AT_EOS; if (mOverlayUpdateEventPosted) { mOverlayUpdateEventPosted = false; mOverlayUpdateEventPosted = false; postOverlayUpdateEvent_l(); } postStreamDoneEvent_l(ERROR_END_OF_STREAM); postStreamDoneEvent_l(ERROR_END_OF_STREAM); } } else { else { Loading
libvideoeditor/lvpp/VideoEditorPreviewController.cpp +20 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ VideoEditorPreviewController::VideoEditorPreviewController() mOutputVideoWidth(0), mOutputVideoWidth(0), mOutputVideoHeight(0), mOutputVideoHeight(0), bStopThreadInProgress(false), bStopThreadInProgress(false), mOverlayState(OVERLAY_CLEAR), mSemThreadWait(NULL) { mSemThreadWait(NULL) { LOGV("VideoEditorPreviewController"); LOGV("VideoEditorPreviewController"); mRenderingMode = M4xVSS_kBlackBorders; mRenderingMode = M4xVSS_kBlackBorders; Loading Loading @@ -138,6 +139,8 @@ VideoEditorPreviewController::~VideoEditorPreviewController() { mTarget = NULL; mTarget = NULL; } } mOverlayState = OVERLAY_CLEAR; LOGV("~VideoEditorPreviewController returns"); LOGV("~VideoEditorPreviewController returns"); } } Loading Loading @@ -1128,6 +1131,21 @@ void VideoEditorPreviewController::notify( pController->mJniCookie, MSG_TYPE_PROGRESS_INDICATION, pController->mJniCookie, MSG_TYPE_PROGRESS_INDICATION, &playedDuration); &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); M4OSA_semaphorePost(pController->mSemThreadWait); break; break; } } Loading Loading @@ -1194,9 +1212,11 @@ void VideoEditorPreviewController::notify( LOGV("pController->mCurrentClipNumber = %d",pController->mCurrentClipNumber); LOGV("pController->mCurrentClipNumber = %d",pController->mCurrentClipNumber); if (pController->mJniCallback != NULL) { if (pController->mJniCallback != NULL) { if (ext1 == 1) { if (ext1 == 1) { pController->mOverlayState = OVERLAY_UPDATE; pController->mJniCallback(pController->mJniCookie, pController->mJniCallback(pController->mJniCookie, MSG_TYPE_OVERLAY_UPDATE, pEditInfo); MSG_TYPE_OVERLAY_UPDATE, pEditInfo); } else { } else { pController->mOverlayState = OVERLAY_CLEAR; pController->mJniCallback(pController->mJniCookie, pController->mJniCallback(pController->mJniCookie, MSG_TYPE_OVERLAY_CLEAR, pEditInfo); MSG_TYPE_OVERLAY_CLEAR, pEditInfo); } } Loading
libvideoeditor/lvpp/VideoEditorPreviewController.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,10 @@ typedef enum { VePlayerAutoStop VePlayerAutoStop } VePlayerState; } VePlayerState; typedef enum { OVERLAY_UPDATE = 0, OVERLAY_CLEAR } OverlayState; // Callback mechanism from PreviewController to Jni */ // Callback mechanism from PreviewController to Jni */ typedef void (*jni_progress_callback_fct)(void* cookie, M4OSA_UInt32 msgType, void *argc); typedef void (*jni_progress_callback_fct)(void* cookie, M4OSA_UInt32 msgType, void *argc); Loading Loading @@ -117,6 +121,7 @@ private: M4OSA_UInt32 mFirstPreviewClipBeginTime; M4OSA_UInt32 mFirstPreviewClipBeginTime; M4OSA_UInt32 mLastPreviewClipEndTime; M4OSA_UInt32 mLastPreviewClipEndTime; M4OSA_UInt32 mVideoStoryBoardTimeMsUptoFirstPreviewClip; M4OSA_UInt32 mVideoStoryBoardTimeMsUptoFirstPreviewClip; OverlayState mOverlayState; M4xVSS_MediaRendering mRenderingMode; M4xVSS_MediaRendering mRenderingMode; uint32_t mOutputVideoWidth; uint32_t mOutputVideoWidth; Loading