# Membrane HTTP Adaptive Stream plugin v0.21.0 - Table of Contents Membrane plugin for adaptive streaming over HTTP ## Pages - [Membrane HTTP Adaptive Streaming Plugin](readme.md) - [LICENSE](license.md) ## Modules - [Membrane.HTTPAdaptiveStream.Source](Membrane.HTTPAdaptiveStream.Source.md): A Membrane Source element that fetches and demuxes HLS streams. - [Membrane.HTTPAdaptiveStream.TDENEvent](Membrane.HTTPAdaptiveStream.TDENEvent.md): Event containing the "encoding time" - timestamp describing when frame was encoded - read from the ID3v2.4 `TDEN` tag. - Elements - [Membrane.HTTPAdaptiveStream.Sink](Membrane.HTTPAdaptiveStream.Sink.md): Sink for generating HTTP streaming manifests. - [Membrane.HTTPAdaptiveStream.Sink.ManifestConfig](Membrane.HTTPAdaptiveStream.Sink.ManifestConfig.md): `Membrane.HTTPAdaptiveStream.Manifest` configuration. - [Membrane.HTTPAdaptiveStream.Sink.TrackConfig](Membrane.HTTPAdaptiveStream.Sink.TrackConfig.md): Track configuration. For more information checkout `Membrane.HTTPAdaptiveStream.Manifest.Track.Config` - [Membrane.HTTPAdaptiveStream.SinkBin](Membrane.HTTPAdaptiveStream.SinkBin.md): Bin responsible for receiving audio and video streams, performing payloading and CMAF muxing to eventually store them using provided storage configuration. - HLS - [Membrane.HTTPAdaptiveStream.HLS](Membrane.HTTPAdaptiveStream.HLS.md): `Membrane.HTTPAdaptiveStream.Manifest` implementation for HTTP Live Streaming. - [Membrane.HTTPAdaptiveStream.HLS.SegmentAttribute](Membrane.HTTPAdaptiveStream.HLS.SegmentAttribute.md): Implementation of `Membrane.HTTPAdaptiveStream.Manifest.SegmentAttribute` behaviour for HTTP Live Streaming - Manifest - [Membrane.HTTPAdaptiveStream.Manifest](Membrane.HTTPAdaptiveStream.Manifest.md): Behaviour for manifest serialization. - [Membrane.HTTPAdaptiveStream.Manifest.Changeset](Membrane.HTTPAdaptiveStream.Manifest.Changeset.md): Structure representing changes that has been applied to the track. What element has been added and what elements are to be removed. - [Membrane.HTTPAdaptiveStream.Manifest.Changeset.Segment](Membrane.HTTPAdaptiveStream.Manifest.Changeset.Segment.md): Type used to recognize `to_add` segments in Changeset. - [Membrane.HTTPAdaptiveStream.Manifest.Segment](Membrane.HTTPAdaptiveStream.Manifest.Segment.md): Structure representing a single manifest segment. - [Membrane.HTTPAdaptiveStream.Manifest.SegmentAttribute](Membrane.HTTPAdaptiveStream.Manifest.SegmentAttribute.md): Definition of Segment Attributes and behaviour for serializing them. This module should also contain macros for generating different types of attributes - [Membrane.HTTPAdaptiveStream.Manifest.Track](Membrane.HTTPAdaptiveStream.Manifest.Track.md): Struct representing a state of a single manifest track and functions to operate on it. - [Membrane.HTTPAdaptiveStream.Manifest.Track.Config](Membrane.HTTPAdaptiveStream.Manifest.Track.Config.md): Track configuration. - Storages - [Membrane.HTTPAdaptiveStream.Storage](Membrane.HTTPAdaptiveStream.Storage.md): Behaviour for storing manifests and stream segments. - [Membrane.HTTPAdaptiveStream.Storages.FileStorage](Membrane.HTTPAdaptiveStream.Storages.FileStorage.md): `Membrane.HTTPAdaptiveStream.Storage` implementation that saves the stream to files locally. - [Membrane.HTTPAdaptiveStream.Storages.GenServerStorage](Membrane.HTTPAdaptiveStream.Storages.GenServerStorage.md): `Membrane.HTTPAdaptiveStream.Storage` implementation that issues a call or cast with a `t:message_t/0` to given destination on each call to store/remove. - [Membrane.HTTPAdaptiveStream.Storages.SendStorage](Membrane.HTTPAdaptiveStream.Storages.SendStorage.md): `Membrane.HTTPAdaptiveStream.Storage` implementation that sends a `t:message_t/0` to given destination on each call to store/remove.