예제 #1
0
        public override void Close()
        {
            if (!_Initialized)
            {
                return;
            }

            _Initialized = false;

            if (!_FileOpened)
            {
                return;
            }

            if (_audiodecoder != IntPtr.Zero)
            {
                CAcinerella.ac_free_decoder(_audiodecoder);
            }

            if (_instance != IntPtr.Zero)
            {
                CAcinerella.ac_close(_instance);
            }

            if (_instance != IntPtr.Zero)
            {
                CAcinerella.ac_free(_instance);
            }

            _FileOpened = false;
        }
예제 #2
0
        private void DoFree()
        {
            if (_videodecoder != IntPtr.Zero)
            {
                CAcinerella.ac_free_decoder(_videodecoder);
            }

            if (_instance != IntPtr.Zero)
            {
                CAcinerella.ac_close(_instance);
            }

            if (_instance != IntPtr.Zero)
            {
                CAcinerella.ac_free(_instance);
            }

            _Closeproc(_StreamID);
        }