/// <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(); } }
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(); }