Streamer Element Reference

The Streamer itself does nothing by its own. The real work of processing the media stream is performed by a pipeline of elements linked together in a tree structure with the source element as root and sink elements as leaves. Each element is processed in turn throughout the tree structure.

Pipeline Construction

The Streamer constructs the pipeline depending on the contents of the media stream. This means that a stream of MP3 music triggers the contruction of a different pipeline compared to the pipeline set up to handle a MPEG2 transport stream containing video and audio. To facilitate this mechanism the properties of each element is described by an element descriptor. When an element opens a new output pad it declares the format of the data to be sent on that pad. The Streamer searches all element descriptors for possible candidates to be inserted in the pipeline and be connected to that output pad. It picks elements in a naïve fashion, trying to pick sinks or elements that change format of the stream and inserting elements with certain traits or producing certain metadata in between.

The pipeline always begins with one source element. The source element cannot be selected from the stream format, because there's no stream to examine before it has been received from the network. Instead the source element is selected based on network protocol, which is derived from the URL used for opening the stream.

Purpose and Scope

The purpose of this Streamer Element Reference is to describe the properties of the KreaTV elements.

Loadable Element Modules

All elements are bundled in loadable modules that may contain any number of elements. The Streamer loads all modules on startup.

Source Element Modules

In general, a source element should be distributed as an individual loadable module to facilitate easy system configuration.

Format Discovery Element Modules

Format discovery is a very important step in the pipeline. It analyzes the raw stream produced by the source element and tries to determine the format of the data stream.

Conditional Access Modules

KreaTV provides no CA modules at the moment.

Stream Format Modules

Depending on the stream format, the pipeline constructed by the Streamer may differ greatly. The type of information carried in these streams also affects which elements are insterted in the pipeline.

Decoder Element Modules

Metadata

Some complex metadata types are described in the Complex Metadata section.