# `Membrane.Stream.Serializer`
[🔗](https://github.com/membraneframework/membrane_stream_plugin/blob/v0.4.2/lib/membrane_stream_plugin/serializer.ex#L1)

Element recording a stream of Membrane actions into binary format, suitable for saving to the file.

Currently supported, as of V1:
- buffers
- stream formats
- events

A stream can be replayed using `Membrane.Stream.Deserializer`:

## Element options

Passed via struct `t:Membrane.Stream.Serializer.t/0`

- `version`  

  ```
  Membrane.Stream.Format.Version.t()
  ```
  
  Default value: `1`  
  

## Pads

### `:input`

Accepted formats:
```
_any
```

Direction: | `:input`
Availability: | `:always`
Flow control: | `:auto`

### `:output`

Accepted formats:
```
%RemoteStream{content_format: Membrane.Stream}
```

Direction: | `:output`
Availability: | `:always`
Flow control: | `:auto`

# `t`

```elixir
@type t() :: %Membrane.Stream.Serializer{version: Membrane.Stream.Format.Version.t()}
```

Struct containing options for `Membrane.Stream.Serializer`

# `options`

```elixir
@spec options() :: keyword()
```

Returns description of options available for this module

---

*Consult [api-reference.md](api-reference.md) for complete listing*
