Table of Contents

Class BufferedWriteStream

Namespace
Discord.Audio.Streams
Assembly
Discord.Net.WebSocket.dll

Wraps another stream with a timed buffer.

public class BufferedWriteStream : AudioOutStream, IAsyncDisposable, IDisposable
Inheritance
BufferedWriteStream
Implements
Inherited Members

Constructors

BufferedWriteStream(AudioStream, IAudioClient, int, CancellationToken, int)

public BufferedWriteStream(AudioStream next, IAudioClient client, int bufferMillis, CancellationToken cancelToken, int maxFrameSize = 1500)

Parameters

next AudioStream
client IAudioClient
bufferMillis int
cancelToken CancellationToken
maxFrameSize int

Methods

ClearAsync(CancellationToken)

public override Task ClearAsync(CancellationToken cancelToken)

Parameters

cancelToken CancellationToken

Returns

Task

Dispose(bool)

Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

FlushAsync(CancellationToken)

Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

public override Task FlushAsync(CancellationToken cancelToken)

Parameters

cancelToken CancellationToken

Returns

Task

A task that represents the asynchronous flush operation.

Exceptions

ObjectDisposedException

The stream has been disposed.

OperationCanceledException

The cancellation token was canceled. This exception is stored into the returned task.

WriteAsync(byte[], int, int, CancellationToken)

Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

public override Task WriteAsync(byte[] data, int offset, int count, CancellationToken cancelToken)

Parameters

data byte[]
offset int

The zero-based byte offset in buffer from which to begin copying bytes to the stream.

count int

The maximum number of bytes to write.

cancelToken CancellationToken

Returns

Task

A task that represents the asynchronous write operation.

Exceptions

ArgumentNullException

buffer is null.

ArgumentOutOfRangeException

offset or count is negative.

ArgumentException

The sum of offset and count is larger than the buffer length.

NotSupportedException

The stream does not support writing.

ObjectDisposedException

The stream has been disposed.

InvalidOperationException

The stream is currently in use by a previous write operation.

OperationCanceledException

The cancellation token was canceled. This exception is stored into the returned task.

WriteHeader(ushort, uint, bool)

public override void WriteHeader(ushort seq, uint timestamp, bool missed)

Parameters

seq ushort
timestamp uint
missed bool

Exceptions

InvalidOperationException

This stream does not accept headers.