# AudioStreamRequest

`import { AudioStreamRequest } from "destack:audio/binding";`

Audio stream open request.

```ds title="AudioStreamRequest"
export struct AudioStreamRequest {
    backend: AudioBackendSelection;
    deviceId: string;
    direction: AudioDirection;
    shareMode: AudioShareMode;
    mode: AudioStreamMode;
    format: AudioFormat;
    quantumFrames: uint32;
    bufferFrames: uint32;
    flags: AudioStreamFlags;
}
```

[language/library/src/audio/binding/stream.ds:53:72](https://github.com/destack-sh/destack/blob/main/language/library/src/audio/binding/stream.ds#L53-L72)

## Members

### `backend: AudioBackendSelection`

Backend selection.

### `deviceId: string`

Device identifier, omitted for the backend default device.

### `direction: AudioDirection`

Stream direction.

### `shareMode: AudioShareMode`

Share mode.

### `mode: AudioStreamMode`

Stream transfer contract.

### `format: AudioFormat`

Requested audio format.

### `quantumFrames: uint32`

Requested processing quantum in frames, or zero for backend default.

### `bufferFrames: uint32`

Requested buffering in frames, or zero for backend default.

### `flags: AudioStreamFlags`

Stream flags.
