# `ExSDP.Attribute.RTCPFeedback`
[🔗](https://github.com/membraneframework/ex_sdp/blob/v1.2.0/lib/ex_sdp/attribute/rtcp_feedback.ex#L1)

This module describes what kind(s) of RTCP Feedback will be used (RFC 4585).

The example lines that are parsed by this module are (`a=rtcp-fb:` prefix will be handled by `ExSDP.Attribute`)

    a=rtcp-fb:* nack
    a=rtcp-fb:96 goog-remb
    a=rtcp-fb:96 transport-cc
    a=rtcp-fb:96 ccm fir
    a=rtcp-fb:96 nack
    a=rtcp-fb:96 nack pli

# `attr_key`

```elixir
@type attr_key() :: :rtcp_feedback
```

Key that can be used for searching this attribute using `ExSDP.Media.get_attribute/2`.

# `feedback_type_t`

```elixir
@type feedback_type_t() :: :nack | :fir | :pli | :twcc | :remb | binary()
```

# `t`

```elixir
@type t() :: %ExSDP.Attribute.RTCPFeedback{
  feedback_type: feedback_type_t(),
  pt: ExSDP.Attribute.RTPMapping.payload_type_t() | :all
}
```

# `parse`

```elixir
@spec parse(binary()) ::
  {:ok, t()} | {:error, :invalid_pt} | {:error, :invalid_rtcp_feedback}
```

# `serialize_feedback_type`

```elixir
@spec serialize_feedback_type(feedback_type_t()) :: String.t()
```

---

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