# PeerSession::MediaConfig

<a id="mediaconfig"></a>

# MediaConfig

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

struct MediaConfig
```

[Defined in src/webrtc/include/icy/webrtc/peersession.h:61](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L61)

[Configuration](https://auscaster.com/icey/docs/api-reference/icy-Configuration.md#configuration) for WebRTC peer session establishment.

## Public Attributes

| Return | Name | Description |
|--------|------|-------------|
| [`av::VideoCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-VideoCodec.md#videocodec) | [`videoCodec`](#videocodec-8)  | Desired video codec for send/receive negotiation. |
| [`av::AudioCodec`](https://auscaster.com/icey/docs/api-reference/icy-av-AudioCodec.md#audiocodec) | [`audioCodec`](#audiocodec-7)  | Desired audio codec for send/receive negotiation. |
| `rtc::Description::Direction` | [`videoDirection`](#videodirection-1)  |  |
| `rtc::Description::Direction` | [`audioDirection`](#audiodirection-1)  |  |
| [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig) | [`videoJitterBuffer`](#videojitterbuffer-1)  | Receive-side buffering for depacketized remote video frames. |
| [`JitterBufferConfig`](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md#jitterbufferconfig) | [`audioJitterBuffer`](#audiojitterbuffer-1)  | Receive-side buffering for depacketized remote audio frames. |

---

<a id="videocodec-8"></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/peersession.h:63](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L63)

Desired video codec for send/receive negotiation.

---

<a id="audiocodec-7"></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/peersession.h:64](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L64)

Desired audio codec for send/receive negotiation.

---

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

### videoDirection

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

[Defined in src/webrtc/include/icy/webrtc/peersession.h:65](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L65)

---

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

### audioDirection

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

[Defined in src/webrtc/include/icy/webrtc/peersession.h:66](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L66)

---

<a id="videojitterbuffer-1"></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/peersession.h:67](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L67)

Receive-side buffering for depacketized remote video frames.

---

<a id="audiojitterbuffer-1"></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/peersession.h:68](https://github.com/auscaster/icey/blob/main/src/webrtc/include/icy/webrtc/peersession.h#L68)

Receive-side buffering for depacketized remote audio frames.
