This module contains elements for handling ISO/IEC 11172-3 audio streams.
Module Name | Streamer Elementary Stream Elements |
---|---|
File Name | libeselements.so |
Class Count | 3 |
ES Audio Clock Reference Element, ES Audio Stream Info Decoder Element, ES Audio Layer Filter Element.
Typical Audio Elementary Stream pipeline.
The audio elementary stream must be aligned to segment boundaries as described in the Framing Element section.
The ES Audio Clock Reference element determines a stream clock reference from the sample rate of the encoded audio.
Name | ES Audio Clock Reference Descriptor |
---|---|
Version | 1 |
Interface Name | IElementDescriptor |
Binding | C++ |
Name | ES Audio Clock Reference |
---|---|
Type | Intermediate |
Priority | 500 |
Input Formats | MPEG-1/Audio Elementary Stream |
Output Formats | MPEG-1/Audio Elementary Stream |
Trait | ClockReference |
The element immediately recommits all metadata to its output pad.
The element calculates a stream clock reference for each ISO/IEC 11172-3 audio frame in the stream and reports it to the Streamer using the IStreamClock interface. The clock reference is deduced from the sampling_frequency field of the audio header structure.
The ES Audio Stream Info Decoder element decodes meta information such as sample rate and number of channels in the audio stream.
Name | ES Audio Stream Info Decoder Descriptor |
---|---|
Version | 1 |
Interface Name | IElementDescriptor |
Binding | C++ |
Name | ES Audio Stream Info Decoder |
---|---|
Type | Intermediate |
Priority | 500 |
Input Formats | MPEG-1/Audio Elementary Stream |
Output Formats | MPEG-1/Audio Elementary Stream |
Key | Input | Output |
---|---|---|
_AudioStreamList | Produced | Committed |
_AudioStreamInfo | Produced | Committed |
_AudioComponentFlag | Produced | Committed |
_VideoComponentFlag | Produced | Committed |
_ActiveAudioStream | Produced | Committed |
The element deduces the sample rate from the sampling_frequency field and the number of channels from the mode field of the ISO/IEC 11172-3 header structure. It reports this information by writing the _AudioStreamInfo paramter on the blackboard and comitting _AudioStreamList metadata. The _AudioStreamInfo and _AudioStreamList parameters are described in greater detail in the Complex Metadata section.
The element also commits _AudioComponentFlag with the string value true and _VideoComponentFlag with the string value false.
The ES Audio Layer Filter element examines the encoding of the audio stream and opens an output pad with the appropriate format.
Name | ES Audio Layer Filter Descriptor |
---|---|
Version | 1 |
Interface Name | IElementDescriptor |
Binding | C++ |
Name | ES Audio Layer Filter |
---|---|
Type | Intermediate |
Priority | 500 |
Input Formats | MPEG-1/Audio Elementary Stream |
Output Formats | MPEG-1/Audio Elementary Stream/Layer[1|2|3] |
The element immediately recommits all metadata to each output pad.
The element examines the Layer field of the audio frame header structure and opens an output pad for that format.