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);
     }
 }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
    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);
            }
        }
    }
Exemplo n.º 4
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();
        }
    }
Exemplo n.º 5
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 ();
	}