/// <summary>
 /// Unregister a multithread handler for the Tango image event.
 /// </summary>
 /// <param name="handler">Event handler to unregister.</param>
 internal static void UnregisterOnTangoImageMultithreadedAvailable(OnTangoImageMultithreadedAvailableEventHandler handler)
 {
     if (handler != null)
     {
         m_onTangoImageMultithreadedAvailable -= handler;
     }
 }
 /// <summary>
 /// Register a multithread handler for the Tango image event.
 /// </summary>
 /// <param name="handler">Event handler to register.</param>
 internal void RegisterOnTangoImageMultithreadedAvailable(OnTangoImageMultithreadedAvailableEventHandler handler)
 {
     if (handler != null)
     {
         m_onTangoImageMultithreadedAvailable += handler;
     }
 }
        /// <summary>
        /// Stop getting Tango image or texture callbacks.
        /// </summary>
        internal static void Reset()
        {
            // Avoid calling into tango_client_api before the correct library is loaded.
            if (m_onImageAvailable != null || m_onTextureAvailable != null || m_onYUVTextureAvailable != null)
            {
                VideoOverlayProvider.ClearCallback(COLOR_CAMERA_ID);
            }

            m_onImageAvailable                   = null;
            m_onTextureAvailable                 = null;
            m_onYUVTextureAvailable              = null;
            m_previousImageBuffer                = new TangoUnityImageData();
            m_shouldSendTextureMethodEvent       = false;
            m_shouldSendByteBufferMethodEvent    = false;
            m_shouldSendYUVTextureIdMethodEvent  = false;
            m_onTangoImageAvailable              = null;
            m_onTangoCameraTextureAvailable      = null;
            m_onTangoYUVTextureAvailable         = null;
            m_onTangoImageMultithreadedAvailable = null;
        }
 /// <summary>
 /// Unregister a multithread handler for the Tango image event.
 /// </summary>
 /// <param name="handler">Event handler to unregister.</param>
 internal static void UnregisterOnTangoImageMultithreadedAvailable(OnTangoImageMultithreadedAvailableEventHandler handler)
 {
     if (handler != null)
     {
         m_onTangoImageMultithreadedAvailable -= handler;
     }
 }
        /// <summary>
        /// Stop getting Tango image or texture callbacks.
        /// </summary>
        internal static void Reset()
        {
            // Avoid calling into tango_client_api before the correct library is loaded.
            if (m_onImageAvailable != null || m_onTextureAvailable != null || m_onYUVTextureAvailable != null)
            {
                VideoOverlayProvider.ClearCallback(COLOR_CAMERA_ID);
            }

            m_onImageAvailable = null;
            m_onTextureAvailable = null;
            m_onYUVTextureAvailable = null;
            m_previousImageBuffer = new TangoUnityImageData();
            m_shouldSendTextureMethodEvent = false;
            m_shouldSendByteBufferMethodEvent = false;
            m_shouldSendYUVTextureIdMethodEvent = false;
            m_onTangoImageAvailable = null;
            m_onTangoCameraTextureAvailable = null;
            m_onTangoYUVTextureAvailable = null;
            m_onTangoImageMultithreadedAvailable = null;
        }