# `Membrane.WAV.Postprocessing`
[🔗](https://github.com/membraneframework/membrane_wav_plugin/blob/v0.10.3/lib/membrane_wav/postprocessing.ex#L1)

Module responsible for post-processing serialized WAV files.

Due to the fact that `Membrane.WAV.Serializer` with seeking disabled creates WAV file with
incorrect `file length` and `data length` blocks in the header, post-processing is needed.
`fix_wav_header/1` fixes that problem.

Header description can be found in `Membrane.WAV.Parser`.

# `fix_error`

```elixir
@type fix_error() ::
  {:error, File.posix() | :invalid_file | :badarg | :terminated} | IO.nodata()
```

# `fix_wav_header`

```elixir
@spec fix_wav_header(String.t()) :: :ok | fix_error()
```

Fixes header of the WAV file located in `path`.

---

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