---
name: "opus_multistream_ctls"
section: "3"
platform: "linux"
package: "libopus-doc"
version: "1.5.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/opus_multistream_ctls"
---

# opus\_multistream\_ctls(3)

Multistream specific encoder and decoder CTLs - These are convenience macros that are specific to the opus\_multistream\_encoder\_ctl() and opus\_multistream\_decoder\_ctl() interface.

## NAME

opus\_multistream\_ctls - Multistream specific encoder and decoder CTLs

 \- These are convenience macros that are specific to the **opus\_multistream\_encoder\_ctl()** and **opus\_multistream\_decoder\_ctl()** interface.

## SYNOPSIS

### Macros

\#define **OPUS\_MULTISTREAM\_GET\_ENCODER\_STATE**(x,  y)\
 Gets the encoder state for an individual stream of a multistream encoder.  #define **OPUS\_MULTISTREAM\_GET\_DECODER\_STATE**(x,  y)\
 Gets the decoder state for an individual stream of a multistream decoder.

## Detailed Description

These are convenience macros that are specific to the **opus\_multistream\_encoder\_ctl()** and **opus\_multistream\_decoder\_ctl()** interface.

The CTLs from **Generic CTLs**, **Encoder related CTLs**, and **Decoder related CTLs** may be applied to a multistream encoder or decoder as well. In addition, you may retrieve the encoder or decoder state for an specific stream via **OPUS\_MULTISTREAM\_GET\_ENCODER\_STATE** or **OPUS\_MULTISTREAM\_GET\_DECODER\_STATE** and apply CTLs to it individually.

## Macro Definition Documentation

### #define OPUS\_MULTISTREAM\_GET\_DECODER\_STATE(x, y)

Gets the decoder state for an individual stream of a multistream decoder.

**Parameters**

*x* `opus_int32`: The index of the stream whose decoder you wish to retrieve. This must be non-negative and less than the `streams` parameter used to initialize the decoder. \
 *y* `OpusDecoder**`: Returns a pointer to the given decoder state.

**Return values**

*OPUS\_BAD\_ARG* The index of the requested stream was out of range.

### #define OPUS\_MULTISTREAM\_GET\_ENCODER\_STATE(x, y)

Gets the encoder state for an individual stream of a multistream encoder.

**Parameters**

*x* `opus_int32`: The index of the stream whose encoder you wish to retrieve. This must be non-negative and less than the `streams` parameter used to initialize the encoder. \
 *y* `OpusEncoder**`: Returns a pointer to the given encoder state.

**Return values**

*OPUS\_BAD\_ARG* The index of the requested stream was out of range.

## Author

Generated automatically by Doxygen for Opus from the source code.
