# androidx.media3.transformer

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.SupportedOutputTypes` | Supported output types of an asset loader. |
| `https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode` | The strategy to use to transcode or edit High Dynamic Range (HDR) input video. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportException.ErrorCode` | Error codes that identify causes of `https://developer.android.com/reference/androidx/media3/transformer/Transformer` errors. |
| `https://developer.android.com/reference/androidx/media3/transformer/SampleConsumer.InputResult` | Specifies the result of an input operation. |
| `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState` | Progress state. |
| `https://developer.android.com/reference/androidx/media3/transformer/VideoEncoderSettings.BitrateMode` | The allowed values for `bitrateMode`. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` | Provides media data to a `https://developer.android.com/reference/androidx/media3/transformer/Transformer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener` | A listener of `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` events. |
| `https://developer.android.com/reference/androidx/media3/transformer/AudioMixer` | An audio component which combines audio data from multiple sources into a single output. |
| `https://developer.android.com/reference/androidx/media3/transformer/AudioMixer.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/transformer/AudioMixer` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/Codec` | Provides a layer of abstraction for interacting with decoders and encoders. |
| `https://developer.android.com/reference/androidx/media3/transformer/Codec.DecoderFactory` | A factory for `https://developer.android.com/reference/androidx/media3/transformer/Codec` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/Codec.EncoderFactory` | A factory for `https://developer.android.com/reference/androidx/media3/transformer/Codec` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultDecoderFactory.Listener` | Listener for decoder factory events. |
| `https://developer.android.com/reference/androidx/media3/transformer/EncoderFrameWriter.Listener` | Listener for `https://developer.android.com/reference/androidx/media3/transformer/EncoderFrameWriter` events. |
| `https://developer.android.com/reference/androidx/media3/transformer/EncoderSelector` | Selector of `https://developer.android.com/reference/android/media/MediaCodec.html` encoder instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/InAppMp4Muxer.MetadataProvider` | Provides `https://developer.android.com/reference/androidx/media3/common/Metadata.Entry` to add in the output MP4 file. |
| `https://developer.android.com/reference/androidx/media3/transformer/SampleConsumer` | Consumer of encoded media samples, raw audio or raw video frames. |
| `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader.Callback` | Callbacks for `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader` events. |
| `https://developer.android.com/reference/androidx/media3/transformer/Transformer.Listener` | A listener for the export events. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.CompositionSettings` | Customizations set on the `https://developer.android.com/reference/androidx/media3/transformer/Composition` that are needed when `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` each of the `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem` in the `https://developer.android.com/reference/androidx/media3/transformer/Composition`. |
| `https://developer.android.com/reference/androidx/media3/transformer/AudioEncoderSettings` | Represents the audio encoder settings. |
| `https://developer.android.com/reference/androidx/media3/transformer/AudioEncoderSettings.Builder` | Builds `https://developer.android.com/reference/androidx/media3/transformer/AudioEncoderSettings` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/CodecDbLite` | Repository of chipset-specific recommendations and/or optimizations for using Android platform provided `https://developer.android.com/reference/android/media/MediaCodec.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/Composition` | A composition of `https://developer.android.com/reference/androidx/media3/common/MediaItem` instances, with transformations to apply to them. |
| `https://developer.android.com/reference/androidx/media3/transformer/Composition.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/Composition` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/CompositionFrameMetadata` | **This class is deprecated.** Use similar keys in `https://developer.android.com/reference/androidx/media3/effect/DefaultGlFrameProcessor` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/transformer/CompositionPlayer` | A `https://developer.android.com/reference/androidx/media3/common/Player` implementation that plays `https://developer.android.com/reference/androidx/media3/transformer/Composition` of media assets. |
| `https://developer.android.com/reference/androidx/media3/transformer/CompositionPlayer.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/CompositionPlayer` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultAssetLoaderFactory` | The default `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` implementation. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultAudioMixer` | An `https://developer.android.com/reference/androidx/media3/transformer/AudioMixer` that incrementally mixes source audio into a fixed size mixing buffer. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultAudioMixer.Factory` | An `https://developer.android.com/reference/androidx/media3/transformer/AudioMixer.Factory` implementation for `https://developer.android.com/reference/androidx/media3/transformer/DefaultAudioMixer` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultCodec` | A default `https://developer.android.com/reference/androidx/media3/transformer/Codec` implementation that uses `https://developer.android.com/reference/android/media/MediaCodec.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultDecoderFactory` | Default implementation of `https://developer.android.com/reference/androidx/media3/transformer/Codec.DecoderFactory` that uses `https://developer.android.com/reference/android/media/MediaCodec.html` for decoding. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultDecoderFactory.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/DefaultDecoderFactory` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultEncoderFactory` | A default implementation of `https://developer.android.com/reference/androidx/media3/transformer/Codec.EncoderFactory`. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultEncoderFactory.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/DefaultEncoderFactory` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultMuxer` | A default `https://developer.android.com/reference/androidx/media3/muxer/Muxer` implementation. |
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultMuxer.Factory` | A `https://developer.android.com/reference/androidx/media3/muxer/Muxer.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/DefaultMuxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem` | A `https://developer.android.com/reference/androidx/media3/common/MediaItem` with the transformations to apply to it. |
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItemSequence` | A sequence of `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItemSequence.Builder` | A builder for instances of `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItemSequence`. |
| `https://developer.android.com/reference/androidx/media3/transformer/Effects` | Effects to apply to a `https://developer.android.com/reference/androidx/media3/common/MediaItem` or to a `https://developer.android.com/reference/androidx/media3/transformer/Composition`. |
| `https://developer.android.com/reference/androidx/media3/transformer/EncoderFrameWriter` | An implementation of `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter` that uses an `https://developer.android.com/reference/android/media/ImageWriter.html` to forward frames to a `https://developer.android.com/reference/androidx/media3/transformer/DefaultCodec` via `https://developer.android.com/reference/android/view/Surface.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/EncoderUtil` | Utility methods for `https://developer.android.com/reference/android/media/MediaCodec.html` encoders. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` implementation that uses an `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` to load samples. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader.Factory` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExperimentalAnalyzerModeFactory` | Factory for creating instances of `https://developer.android.com/reference/androidx/media3/transformer/Transformer` that can be used to analyze media. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportException.CodecInfo` | The `https://developer.android.com/reference/androidx/media3/transformer/Codec` details. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` | Information about the result of an export. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput` | An input entirely or partially processed. |
| `https://developer.android.com/reference/androidx/media3/transformer/FrameworkMuxer` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer` implementation that uses a `https://developer.android.com/reference/android/media/MediaMuxer.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/FrameworkMuxer.Factory` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/FrameworkMuxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` implementation that loads images into `https://developer.android.com/reference/android/graphics/Bitmap.html` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader.Factory` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/InAppFragmentedMp4Muxer` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer` implementation that uses a `https://developer.android.com/reference/androidx/media3/muxer/FragmentedMp4Muxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/InAppFragmentedMp4Muxer.Factory` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/InAppFragmentedMp4Muxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/InAppMp4Muxer` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer` implementation that uses an `https://developer.android.com/reference/androidx/media3/muxer/Mp4Muxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/InAppMp4Muxer.Factory` | `https://developer.android.com/reference/androidx/media3/muxer/Muxer.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/InAppMp4Muxer`. |
| `https://developer.android.com/reference/androidx/media3/transformer/JsonUtil` | Utilities for working with JSON |
| `https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader` | Asset loader that provides video from `https://developer.android.com/reference/android/media/projection/MediaProjection.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder` | Holds a progress percentage. |
| `https://developer.android.com/reference/androidx/media3/transformer/RawAssetLoader` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` implementation that loads raw audio and/or video data. |
| `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader` | Asset loader that outputs video data passed to its input `https://developer.android.com/reference/android/view/Surface.html`. |
| `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/transformer/RawAssetLoader`. <br /> |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` | A media transformation request. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/Transformer` | A transformer to export media inputs. |
| `https://developer.android.com/reference/androidx/media3/transformer/Transformer.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/Transformer` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformerOutput` | Represents the output destination for a Transformer export. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformerUtil` | Utility methods for Transformer. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformerUtil.Api35` | Utility for setting LogSessionId on MediaFormat (API 35+). |
| `https://developer.android.com/reference/androidx/media3/transformer/VideoEncoderSettings` | Represents the video encoder settings. |
| `https://developer.android.com/reference/androidx/media3/transformer/VideoEncoderSettings.Builder` | Builds `https://developer.android.com/reference/androidx/media3/transformer/VideoEncoderSettings` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/VideoFrameAggregationParameters` | Parameters for video frame aggregation. |
| `https://developer.android.com/reference/androidx/media3/transformer/VideoFrameAggregationParameters.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/transformer/VideoFrameAggregationParameters` instances. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ExportException` | Thrown when a non-locally recoverable export failure occurs. |