//private static int _lastUpdateAllTexturesFrame = -1;

        private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent)
        {
            /*if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures)
             * {
             *      // We only want to update all textures once per frame
             *      if (_lastUpdateAllTexturesFrame == Time.frameCount)
             *              return;
             *
             *      _lastUpdateAllTexturesFrame = Time.frameCount;
             * }*/

#if AVPROVIDEO_ISSUEPLUGINEVENT_UNITY52
            if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures)
            {
                GL.IssuePluginEvent(_nativeFunction_UpdateAllTextures, 0);
            }
            else if (renderEvent == Native.RenderThreadEvent.FreeTextures)
            {
                GL.IssuePluginEvent(_nativeFunction_FreeTextures, 0);
            }
            else if (renderEvent == Native.RenderThreadEvent.WaitForNewFrame)
            {
                GL.IssuePluginEvent(_nativeFunction_ExtractFrame, 0);
            }
#else
            GL.IssuePluginEvent(Native.PluginID | (int)renderEvent);
#endif
        }
Example #2
0
        //private static int _lastUpdateAllTexturesFrame = -1;

        private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent)
        {
            /*if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures)
             *          {
             *                  // We only want to update all textures once per frame
             *                  if (_lastUpdateAllTexturesFrame == Time.frameCount)
             *                          return;
             *
             *                  _lastUpdateAllTexturesFrame = Time.frameCount;
             *          }*/

            GL.IssuePluginEvent(Native.PluginID | (int)renderEvent);
        }
Example #3
0
        private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent)
        {
            switch (renderEvent)
            {
            case Native.RenderThreadEvent.UpdateAllTextures:
                GL.IssuePluginEvent(_nativeFunction_UpdateAllTextures, 0);
                break;

            case Native.RenderThreadEvent.FreeTextures:
                GL.IssuePluginEvent(_nativeFunction_FreeTextures, 0);
                break;
            }
        }