IEnumerator ProcessRecording()
        {
            yield return(new WaitForEndOfFrame());

            if (!m_recorder.Recording || Time.frameCount == m_prevFrame)
            {
                yield break;
            }
            m_prevFrame = Time.frameCount;
            if (m_captureOnStart && m_ignoreFirstFrame && m_firstFrame)
            {
                m_firstFrame = false;
                yield break;
            }

            m_recorder.ProcessRecording();

            if (m_maxCaptureFrame > 0 && m_recorder.FrameCount >= m_maxCaptureFrame)
            {
                EndRecording();
            }
        }
        void ProcessRecording()
        {
            if (!m_recorder.recording || Time.frameCount == m_prevFrame || m_playState == PlayState.Paused)
            {
                return;
            }

            m_prevFrame = Time.frameCount;
            if (m_ignoreFirstFrame && m_firstFrame)
            {
                m_firstFrame = false;
                return;
            }

            m_recorder.ProcessRecording();
        }