Esempio n. 1
0
 /// <summary>
 /// Closes the session.
 /// </summary>
 /// <param name="reason">Reason for the closure.</param>
 public override void Close(string reason)
 {
     if (!_isClosed)
     {
         base.Close(reason);
         base.OnRemoteAudioSampleReady -= PortAudioRtpSession_OnRemoteAudioSampleReady;
         _outputDevicePump?.Dispose();
         _inputDevicePump?.Dispose();
         _portAudioOutputDevice?.Dispose();
         _portAudioInputDevice?.Dispose();
     }
 }
Esempio n. 2
0
        public Task CloseAudio()
        {
            if (!_isClosed)
            {
                _isClosed = true;

                _outputDevicePump?.Dispose();
                _inputDevicePump?.Dispose();
                _portAudioOutputDevice?.Dispose();
                _portAudioInputDevice?.Dispose();
            }

            return(Task.CompletedTask);
        }
 public void Dispose()
 {
     _pump.Dispose();
     BaseStream.Dispose();
 }