# `Membrane.Smelter.Request`
[🔗](https://github.com/membraneframework/membrane_smelter_plugin/blob/v0.12.2/lib/membrane/smelter/request.ex#L1)

Notifications that can be sent to Smelter to trigger certain actions.

After request is handled (but not necessarily completed e.g. if you schedule some action) the bin will
respond with `t:result/0`.

# `result`

```elixir
@type result() :: {:request_result, t(), {:ok, any()} | {:error, any()}}
```

# `t`

```elixir
@type t() ::
  Membrane.Smelter.Request.RegisterImage.t()
  | Membrane.Smelter.Request.RegisterShader.t()
  | Membrane.Smelter.Request.UnregisterImage.t()
  | Membrane.Smelter.Request.UnregisterShader.t()
  | Membrane.Smelter.Request.UnregisterInput.t()
  | Membrane.Smelter.Request.UnregisterOutput.t()
  | Membrane.Smelter.Request.UpdateVideoOutput.t()
  | Membrane.Smelter.Request.UpdateAudioOutput.t()
  | Membrane.Smelter.Request.KeyframeRequest.t()
```

---

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