# EncoderOptions

<a id="encoderoptions"></a>

# EncoderOptions

```cpp
#include <icy/av/iencoder.h>

struct EncoderOptions
```

[Defined in src/av/include/icy/av/iencoder.h:57](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L57)

[Configuration](https://auscaster.com/icey/docs/api-reference/icy-Configuration.md#configuration) options for audio and video encoders.

## Public Attributes

| Return | Name | Description |
|--------|------|-------------|
| [`Format`](https://auscaster.com/icey/docs/api-reference/icy-av-Format.md#format-5) | [`iformat`](#iformat)  | input media format. |
| [`Format`](https://auscaster.com/icey/docs/api-reference/icy-av-Format.md#format-5) | [`oformat`](#oformat)  | output media format. |
| `std::string` | [`ifile`](#ifile)  | input file path. |
| `std::string` | [`ofile`](#ofile)  | output file path. |
| `long` | [`duration`](#duration)  | duration of time to record in nanoseconds. |

---

<a id="iformat"></a>

### iformat

```cpp
Format iformat
```

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

[Defined in src/av/include/icy/av/iencoder.h:59](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L59)

input media format.

---

<a id="oformat"></a>

### oformat

```cpp
Format oformat
```

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

[Defined in src/av/include/icy/av/iencoder.h:60](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L60)

output media format.

---

<a id="ifile"></a>

### ifile

```cpp
std::string ifile
```

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

input file path.

---

<a id="ofile"></a>

### ofile

```cpp
std::string ofile
```

[Defined in src/av/include/icy/av/iencoder.h:62](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L62)

output file path.

---

<a id="duration"></a>

### duration

```cpp
long duration
```

[Defined in src/av/include/icy/av/iencoder.h:63](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L63)

duration of time to record in nanoseconds.

## Public Methods

| Return | Name | Description |
|--------|------|-------------|
|  | [`EncoderOptions`](#encoderoptions-1) `inline` |  |
|  | [`~EncoderOptions`](#encoderoptions-2) `virtual` | Defaulted destructor. |

---

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

### EncoderOptions

`inline`

```cpp
inline EncoderOptions(const Format & iformat = Format(), const Format & oformat = Format(), const std::string & ifile = "", const std::string & ofile = "", long duration = 0)
```

[Defined in src/av/include/icy/av/iencoder.h:64](https://github.com/auscaster/icey/blob/main/src/av/include/icy/av/iencoder.h#L64)

---

<a id="encoderoptions-2"></a>

### ~EncoderOptions

`virtual`

```cpp
virtual ~EncoderOptions() = default
```

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

Defaulted destructor.
