# MediaBridge::Options

<a id="options-18"></a>

# Options

```cpp
#include <icy/webrtc/mediabridge.h>

struct Options
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:73](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L73)

[Configuration](https://auscaster.com/icey/docs/api-reference/icy-Configuration.md#configuration) options for the WebRTC media bridge.

## Public Attributes

| Return | Name | Description |
|--------|------|-------------|
| [`av::VideoCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-VideoCodec.md#videocodec) | [`videoCodec`](#videocodec-7)  | Video codec for the send track. Leave both name and encoder empty to skip creating a video track. |
| [`av::AudioCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-AudioCodec.md#audiocodec) | [`audioCodec`](#audiocodec-6)  | Audio codec for the send track. Leave both name and encoder empty to skip creating an audio track. |
| `uint32_t` | [`videoSsrc`](#videossrc)  | 0 = auto-generate |
| `uint32_t` | [`audioSsrc`](#audiossrc)  | 0 = auto-generate |
| `int` | [`videoPayloadType`](#videopayloadtype)  | Reuse negotiated offer payload type when answering, -1 = default. |
| `int` | [`audioPayloadType`](#audiopayloadtype)  | Reuse negotiated offer payload type when answering, -1 = default. |
| `std::string` | [`cname`](#cname)  | CNAME for RTCP (auto if empty) |
| `std::string` | [`videoMid`](#videomid)  | Explicit MID for the negotiated video m-line when answering an offer. |
| `std::string` | [`audioMid`](#audiomid)  | Explicit MID for the negotiated audio m-line when answering an offer. |
| `rtc::Description::Direction` | [`videoDirection`](#videodirection)  |  |
| `rtc::Description::Direction` | [`audioDirection`](#audiodirection)  |  |
| `unsigned` | [`nackBufferSize`](#nackbuffersize)  | Max RTP packets retained for video NACK retransmission. |
| [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig) | [`videoJitterBuffer`](#videojitterbuffer)  | Receive-side playout buffering for depacketized video frames. |
| [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig) | [`audioJitterBuffer`](#audiojitterbuffer)  | Receive-side playout buffering for depacketized audio frames. |

---

<a id="videocodec-7"></a>

### videoCodec

```cpp
av::VideoCodec videoCodec
```

Type: [`av::VideoCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-VideoCodec.md#videocodec)

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:77](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L77)

Video codec for the send track. Leave both name and encoder empty to skip creating a video track.

---

<a id="audiocodec-6"></a>

### audioCodec

```cpp
av::AudioCodec audioCodec
```

Type: [`av::AudioCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-AudioCodec.md#audiocodec)

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:81](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L81)

Audio codec for the send track. Leave both name and encoder empty to skip creating an audio track.

---

<a id="videossrc"></a>

### videoSsrc

```cpp
uint32_t videoSsrc = 0
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:83](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L83)

0 = auto-generate

---

<a id="audiossrc"></a>

### audioSsrc

```cpp
uint32_t audioSsrc = 0
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:84](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L84)

0 = auto-generate

---

<a id="videopayloadtype"></a>

### videoPayloadType

```cpp
int videoPayloadType = -1
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:85](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L85)

Reuse negotiated offer payload type when answering, -1 = default.

---

<a id="audiopayloadtype"></a>

### audioPayloadType

```cpp
int audioPayloadType = -1
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:86](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L86)

Reuse negotiated offer payload type when answering, -1 = default.

---

<a id="cname"></a>

### cname

```cpp
std::string cname
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:87](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L87)

CNAME for RTCP (auto if empty)

---

<a id="videomid"></a>

### videoMid

```cpp
std::string videoMid
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:88](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L88)

Explicit MID for the negotiated video m-line when answering an offer.

---

<a id="audiomid"></a>

### audioMid

```cpp
std::string audioMid
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:89](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L89)

Explicit MID for the negotiated audio m-line when answering an offer.

---

<a id="videodirection"></a>

### videoDirection

```cpp
rtc::Description::Direction videoDirection = rtc::Description::Direction::SendRecv
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:90](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L90)

---

<a id="audiodirection"></a>

### audioDirection

```cpp
rtc::Description::Direction audioDirection = rtc::Description::Direction::SendRecv
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:91](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L91)

---

<a id="nackbuffersize"></a>

### nackBufferSize

```cpp
unsigned nackBufferSize = 512
```

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:92](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L92)

Max RTP packets retained for video NACK retransmission.

---

<a id="videojitterbuffer"></a>

### videoJitterBuffer

```cpp
JitterBufferConfig videoJitterBuffer
```

Type: [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig)

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:93](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L93)

Receive-side playout buffering for depacketized video frames.

---

<a id="audiojitterbuffer"></a>

### audioJitterBuffer

```cpp
JitterBufferConfig audioJitterBuffer
```

Type: [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig)

[Defined in src/webrtc/include/icy/webrtc/mediabridge.h:94](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/mediabridge.h#L94)

Receive-side playout buffering for depacketized audio frames.
