About the Transcode API

The following diagram shows how the transcode API relates to the rest of the Media Foundation encoding pipeline.

a diagram that shows the transcode api.

The encoding pipeline contains the following data-processing objects:

  • Media source
  • Decoder
  • Video resizer or audio resampler
  • Encoder
  • Media sink

The video resizer is needed only if the size of the output video differs from the source. The audio resampler is needed only if the audio needs to be resampled before encoding. The decoder/encoder pair is required for transcoding, but not for remuxing.

The encoding topology is the set of pipeline objects (source, decoder, resizer, resampler, encoder, and media sink), plus the connection points between them. For more information about topologies, see Topologies.

Different components are responsible for creating the various pipeline objects:

  • The application typically uses the Source Resolver to create the media source.
  • The Media Session loads and configures the decoder, video resizer, and audio resampler. Internally, it uses the topology loader to do this (see IMFTopoLoader).
  • The transcode API loads and configures the encoder and the media sink.

Advanced applications can configure the encoder and the media sink directly, rather than using the transcode API.

Transcode API

Using the Transcode API