# `Membrane.HTTPAdaptiveStream.Manifest.SegmentAttribute`
[🔗](https://github.com/membraneframework/membrane_http_adaptive_stream_plugin/blob/v0.21.0/lib/membrane_http_adaptive_stream/manifest/segment_attribute.ex#L1)

Definition of Segment Attributes and behaviour for serializing them.
This module should also contain macros for generating different types of attributes

# `segment_type_t`

```elixir
@type segment_type_t() :: :discontinuity | :creation_time | atom()
```

# `t`

```elixir
@type t() :: {type :: segment_type_t(), arguments :: any()}
```

# `serialize`

```elixir
@callback serialize(t()) :: [String.t()]
```

Callback for serializing a segment attribute to a string. It is required for each implementation of this behavior.

# `discontinuity`
*macro* 

Creates a definition of a discontinuity segment attribute.

---

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