internal override ValueTask DisposeAsync(bool disposing) #endif { if (!_isDisposed) { if (disposing) { _connectCancelToken?.Dispose(); (WebSocketClient as IDisposable)?.Dispose(); #if NETSTANDARD2_1 if (!(_decompressor is null)) { await _decompressor.DisposeAsync().ConfigureAwait(false); } #else _decompressor?.Dispose(); #endif } } #if NETSTANDARD2_1 await base.DisposeAsync(disposing).ConfigureAwait(false); #else return(base.DisposeAsync(disposing)); #endif }
public override async Task Stop() { if (!WasStarted) { return; } //Stop the recording first. await base.Stop(); //Then close the streams. //await _compressStream.FlushAsync(); await _compressStream.DisposeAsync(); await _bufferedStream.FlushAsync(); await _fileStream.FlushAsync(); await _bufferedStream.DisposeAsync(); await _fileStream.DisposeAsync(); }