4 Home
Moritz Strohm edited this page 2022-04-10 06:50:27 +00:00

endemm documentation

General information

What does endemm stand for and how is it pronounced?

endemm stands for "encoder and decoder for multimedia".

Developer documentation

The basic classes

In endemm, multimedia data representation is split up into several categories of classes.

The origin of multimedia data is represented by Resource classes. A Resource is a data source or sink.

Multimedia container format is represented by Container implementations. Each container is attached to a Resource in a 1:1 relation.

Each container holds one or more Codec instances. A Codec instance represents a multimedia stream inside a container that is encoded in a certain way. A container can have many Codec instances (1:N relation).

How a multimedia data conversion is done

To manage a multimedia data conversion, the ConversionManager class is used. It is responsible for building the conversion chain: Chaining all data sources (codecs or generators) together until the endpoints of the chain (mostly codecs) output the data.

Audio and video chains are separated from each other due to the different nature of audio and video data. Therefore, there are distinct AudioChainObject and VideoChainObject interfaces.