Beispiel #1
0
        /// <summary>
        /// Flush all track buffers
        /// </summary>
        public bool FlushBuffers()
        {
            m_Buffer.Clear();

            if (m_ReservedBuffers.Count > 0)
            {
                foreach (var buffer in m_ReservedBuffers)
                {
                    ReleasedBuffers.Enqueue(buffer.Tag);
                }

                OnBufferReleased();

                return(true);
            }

            return(false);
        }
Beispiel #2
0
        /// <summary>
        /// Closes the <see cref="SoundIoAudioTrack"/>
        /// </summary>
        public void Close()
        {
            if (AudioStream != null)
            {
                AudioStream.Pause(true);
                AudioStream.Dispose();
            }

            m_Buffer.Clear();
            OnBufferReleased();
            ReleasedBuffers.Clear();

            State          = PlaybackState.Stopped;
            AudioStream    = null;
            BufferReleased = null;
        }