Esempio n. 1
0
            private void Dispose(bool disposing)
            {
                if (SourceHandle == null)
                {
                    return;
                }
                if (!disposing)
                {
                    // We can't run this code inside the finalizer thread so tell Clyde to clear it up later.
                    _master.DeleteBufferedSourceOnMainThread(SourceHandle.Value);
                    for (var i = 0; i < BufferHandles.Length; i++)
                    {
                        _master.DeleteAudioBufferOnMainThread(BufferHandles[i]);
                    }
                }
                else
                {
                    AL.DeleteSource((int)SourceHandle.Value);
                    AL.DeleteBuffers(BufferHandles);
                    _master._bufferedAudioSources.Remove(SourceHandle.Value);
                    _checkAlError();
                }

                SourceHandle = null;
            }