void Start() { try { PopMovieParams Params = new PopMovieParams(); mMovie = new PopMovie(mFilename, Params, false); mMovie.AddDebugCallback(Debug.Log); } catch (System.Exception e) { Debug.LogError(e.Message); } }
void CreateMovie() { if (mInternalCreateDelay > 0) { mInternalCreateDelay -= Time.deltaTime; return; } DebugLog("Creating movie..."); PopMovieParams Params = new PopMovieParams(); Params.mPreSeekMs = (ulong)(mPreSeekSecs * 1000.0f); Params.mSkipPushFrames = mSkipPushFrames; Params.mSkipPopFrames = mSkipPopFrames; Params.mAllowGpuColourConversion = mAllowGpuColourConversion; Params.mAllowCpuColourConversion = mAllowCpuColourConversion; Params.mPixelClientStorage = mPixelClientStorage; Params.mAllowFastCopy = mAllowFastCopy; Params.mAllowSlowCopy = mAllowSlowCopy; Params.mDebugFrameSkipping = mDebugFrameSkipping; Params.mPeekBeforeDefferedCopy = mPeekBeforeDefferedCopy; Params.mDebugNoNewPixelBuffer = mDebugNoNewPixelBuffer; Params.mDebugRenderThreadCallback = mDebugRenderThreadCallback; Params.mResetInternalTimestamp = mResetInternalTimestamp; Params.mDebugBlit = mDebugBlit; Params.mApplyVideoTransform = mApplyVideoTransform; Params.mPopNearestFrame = mPopNearestFrame; Params.mGenerateMipMaps = mGenerateMipMaps; Params.mStretchImage = mStretchToFillTexture; Params.mDecoderUseHardwareBuffer = mDecoderUseHardwareBuffer; try { mMovie = new PopMovie(filename, Params, true); if (mEnableDebugLog) { mMovie.AddDebugCallback(DebugLog); } mMovie.AddOnFinishedCallback(OnFinished); } catch (System.Exception e) { Debug.LogError("Error creating PopMovieTexture: " + e.Message); } }
void Update() { if (mMovie == null) { var Params = new PopMovieParams(); mMovie = new PopMovie(mFilename, Params, true); mMovie.AddDebugCallback(Debug.Log); } if (mMovie != null) { mMovie.Update(); if (mTarget != null) { mMovie.UpdateTexture(mTarget, 0); } } }
void UpdateMovie() { // queue not initialised (we haven't started) if (mFilenameQueue == null) { return; } // see if movie is finished to move onto next if (mMovie != null) { // check duration var Duration = mMovie.GetDurationMs(); var CurrentTime = mMovie.GetTimeMs(); if (Duration > 0 && CurrentTime >= Duration) { mMovie = null; System.GC.Collect(); } else { //Debug.Log("Current duration: " + CurrentTime + "/" + Duration ); } } // need to alloc next if (mMovie == null) { if (mFilenameQueue.Count == 0) { Debug.Log("queue finished.... "); OnFinished(); return; } var Filename = mFilenameQueue [0]; mFilenameQueue.RemoveAt(0); var Params = new PopMovieParams(); //Params.mSkipPushFrames = true; try { mMovie = new PopMovie(Filename, Params, true); if (mEnableDebugLog) { mMovie.AddDebugCallback(Debug.Log); } } catch (System.Exception e) { Debug.LogError("Error creating movie; " + e.Message); if (mErrorText != null) { mErrorText.text = e.Message; } } } if (mMovie != null) { mMovie.Update(); } }
void UpdateMovie() { // queue not initialised (we haven't started) if ( mFilenameQueue == null ) return; // see if movie is finished to move onto next if (mMovie != null) { // check duration var Duration = mMovie.GetDurationMs(); var CurrentTime = mMovie.GetTimeMs(); if ( Duration > 0 && CurrentTime >= Duration ) { mMovie = null; System.GC.Collect(); } else { //Debug.Log("Current duration: " + CurrentTime + "/" + Duration ); } } // need to alloc next if (mMovie == null) { if (mFilenameQueue.Count == 0) { Debug.Log("queue finished.... "); OnFinished (); return; } var Filename = mFilenameQueue [0]; mFilenameQueue.RemoveAt (0); var Params = new PopMovieParams (); //Params.mSkipPushFrames = true; try { mMovie = new PopMovie (Filename, Params, true); if (mEnableDebugLog) mMovie.AddDebugCallback (Debug.Log); } catch (System.Exception e) { Debug.LogError ("Error creating movie; " + e.Message); if (mErrorText != null) mErrorText.text = e.Message; } } if (mMovie != null) mMovie.Update (); }