Exemplo n.º 1
0
        void ReleaseInstance()
        {
            TextureWriter.twGuardBegin();
            aepAPI.aepGuardBegin();

            // release ports & params
            aepAPI.aepDestroyLayer(m_img_src);
            m_img_src = default(aepAPI.aepLayer);

            aepAPI.aepEraseDeferredCall(m_otp_render); m_otp_render   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_read); m_tw_read   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_write); m_tw_write = 0;

            m_params = null;

            // release instance
            aepAPI.aepDestroyInstance(m_inst);
            m_inst.ptr = IntPtr.Zero;

            aepAPI.aepGuardEnd();
            TextureWriter.twGuardEnd();

            if (m_began)
            {
                aepAPI.aepEndSequence(m_inst);
                m_began = false;
            }
        }
Exemplo n.º 2
0
        void ReleaseInstance()
        {
            TextureWriter.twGuardBegin();
            otpAPI.otpGuardBegin();

            // release ports & params
            otpAPI.otpDestroyImage(m_img_src);
            m_img_src = default(otpAPI.otpImage);

            otpAPI.otpEraseDeferredCall(m_otp_render); m_otp_render   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_read); m_tw_read   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_write); m_tw_write = 0;
            if (m_ports != null)
            {
                foreach (var port in m_ports)
                {
                    port.Release();
                }
            }

            m_ports  = null;
            m_params = null;

            // release instance
            otpAPI.otpDestroyInstance(m_inst);
            m_inst.ptr = IntPtr.Zero;

            otpAPI.otpGuardEnd();
            TextureWriter.twGuardEnd();
        }