Beispiel #1
0
        /// <summary>Releases resources held by this WaveBuffer</summary>
        protected void Dispose(bool disposing)
        {
            int num1 = disposing ? 1 : 0;

            if (_hHeader.IsAllocated)
            {
                _hHeader.Free();
            }
            if (_hBuffer.IsAllocated)
            {
                _hBuffer.Free();
            }
            if (_hThis.IsAllocated)
            {
                _hThis.Free();
            }
            if (!(_hWaveOut != IntPtr.Zero))
            {
                return;
            }
            lock (_waveOutLock)
            {
                int num2 = (int)AudioInterop.waveOutUnprepareHeader(_hWaveOut, _header, Marshal.SizeOf((object)_header));
            }
            _hWaveOut = IntPtr.Zero;
        }