示例#1
0
        public void Stop()
        {
            tracer.Debug("D3DImageControl::Stop()");
            d3dRenderer?.Shutdown();

            d3dProvider?.Close();


            running = false;
        }
        public void Close()
        {
            if (d3dProvider != null)
            {
                d3dProvider.Close();
                d3dProvider = null;
            }

            if (d3dRenderer != null)
            {
                d3dRenderer.Shutdown();
            }

            if (VideoReceiver != null)
            {
                VideoReceiver.UpdateBuffer -= VideoReceiver_UpdateBuffer;
                VideoReceiver.Stop();
                VideoReceiver = null;
            }

            if (AudioReceiver != null)
            {
                AudioReceiver.Stop();
                AudioReceiver = null;
            }

            if (factory != null)
            {
                factory.Closed -= Factory_Closed;

                factory.Abort();
                factory = null;
            }

            //state = ClientState.Disconnected;
        }