# DefaultAssetLoaderFactory

# DefaultAssetLoaderFactory

Artifact:[androidx.media3:media3-transformer](https://developer.android.com/jetpack/androidx/releases/media3)  
[View Source](https://cs.android.com/search?q=file:androidx/media3/transformer/DefaultAssetLoaderFactory.java+class:androidx.media3.transformer.DefaultAssetLoaderFactory)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/transformer/DefaultAssetLoaderFactory "View this page in Java")

<br />

```
@UnstableApi
class DefaultAssetLoaderFactory : AssetLoader.Factory
```

<br />

*** ** * ** ***

The default[AssetLoader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.Factory)implementation.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ### Public constructors                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DefaultAssetLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/DefaultAssetLoaderFactory#DefaultAssetLoaderFactory(android.content.Context,androidx.media3.common.util.BitmapLoader))`(context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!, bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!)` Creates an instance with the default[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)and[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [DefaultAssetLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/DefaultAssetLoaderFactory#DefaultAssetLoaderFactory(android.content.Context,androidx.media3.transformer.Codec.DecoderFactory,androidx.media3.common.util.Clock,android.media.metrics.LogSessionId))`(` ` context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!,` ` decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!,` ` clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!,` ` logSessionId: `[LogSessionId](https://developer.android.com/reference/android/media/metrics/LogSessionId.html)`?` `)` Creates an instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [DefaultAssetLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/DefaultAssetLoaderFactory#DefaultAssetLoaderFactory(android.content.Context,androidx.media3.transformer.Codec.DecoderFactory,androidx.media3.common.util.Clock,androidx.media3.exoplayer.source.MediaSource.Factory,androidx.media3.common.util.BitmapLoader))`(` ` context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!,` ` decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!,` ` clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!,` ` mediaSourceFactory: `[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)`?,` ` bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!` `)` Creates an instance.                                                                                                                                                                                                                                    |
| [DefaultAssetLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/DefaultAssetLoaderFactory#DefaultAssetLoaderFactory(android.content.Context,androidx.media3.transformer.Codec.DecoderFactory,androidx.media3.common.util.Clock,androidx.media3.exoplayer.source.MediaSource.Factory,androidx.media3.common.util.BitmapLoader,androidx.media3.exoplayer.trackselection.TrackSelector.Factory))`(` ` context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!,` ` decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!,` ` clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!,` ` mediaSourceFactory: `[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)`?,` ` bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!,` ` trackSelectorFactory: `[TrackSelector.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/TrackSelector.Factory)`!` `)` Creates an instance. |

|                                           ### Public functions                                           |
|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)`!` | [createAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/DefaultAssetLoaderFactory#createAssetLoader(androidx.media3.transformer.EditedMediaItem,android.os.Looper,androidx.media3.transformer.AssetLoader.Listener,androidx.media3.transformer.AssetLoader.CompositionSettings))`(` ` editedMediaItem: `[EditedMediaItem](https://developer.android.com/reference/kotlin/androidx/media3/transformer/EditedMediaItem)`!,` ` looper: `[Looper](https://developer.android.com/reference/android/os/Looper.html)`!,` ` listener: `[AssetLoader.Listener](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.Listener)`!,` ` compositionSettings: `[AssetLoader.CompositionSettings](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.CompositionSettings)`!` `)` Creates an[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)instance. |

## Public constructors

### DefaultAssetLoaderFactory

```
DefaultAssetLoaderFactory(context: Context!, bitmapLoader: BitmapLoader!)
```

Creates an instance with the default[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)and[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory).

For multi-picture formats (e.g. gifs), a single image frame from the container is loaded. The frame loaded is determined by the[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)implementation.  

|                                                         Parameters                                                         |
|----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!`                              | The[Context](https://developer.android.com/reference/android/content/Context.html).                                                         |
| `bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!` | The[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)to use to load and decode images. |

### DefaultAssetLoaderFactory

```
DefaultAssetLoaderFactory(
    context: Context!,
    decoderFactory: Codec.DecoderFactory!,
    clock: Clock!,
    logSessionId: LogSessionId?
)
```

Creates an instance.

Uses[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader)to load images, setting the[inPreferredColorSpace](https://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inPreferredColorSpace())to[SRGB](https://developer.android.com/reference/android/graphics/ColorSpace.Named.html#SRGB)when possible.  

|                                                                  Parameters                                                                  |
|----------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!`                                                | The[Context](https://developer.android.com/reference/android/content/Context.html).                                                                                                                                                               |
| `decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!` | The[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)to use to decode the samples (if necessary).                                                                            |
| `clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!`                                        | The[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)to use. It should always be[DEFAULT](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock#DEFAULT()), except for testing. |
| `logSessionId: `[LogSessionId](https://developer.android.com/reference/android/media/metrics/LogSessionId.html)`?`                           | The optional[LogSessionId](https://developer.android.com/reference/android/media/metrics/LogSessionId.html)of the[android.media.metrics.EditingSession](https://developer.android.com/reference/android/media/metrics/EditingSession.html).       |

### DefaultAssetLoaderFactory

```
DefaultAssetLoaderFactory(
    context: Context!,
    decoderFactory: Codec.DecoderFactory!,
    clock: Clock!,
    mediaSourceFactory: MediaSource.Factory?,
    bitmapLoader: BitmapLoader!
)
```

Creates an instance.  

|                                                                     Parameters                                                                      |
|-----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!`                                                       | The[Context](https://developer.android.com/reference/android/content/Context.html).                                                                                                                                                                                                                             |
| `decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!`        | The[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)to use to decode the samples (if necessary).                                                                                                                                          |
| `clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!`                                               | The[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)to use. It should always be[DEFAULT](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock#DEFAULT()), except for testing.                                                               |
| `mediaSourceFactory: `[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)`?` | The[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)to use to retrieve the samples to transform when an[ExoPlayerAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/ExoPlayerAssetLoader)is used. |
| `bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!`                          | The[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)to use to load and decode images.                                                                                                                                                                     |

### DefaultAssetLoaderFactory

```
DefaultAssetLoaderFactory(
    context: Context!,
    decoderFactory: Codec.DecoderFactory!,
    clock: Clock!,
    mediaSourceFactory: MediaSource.Factory?,
    bitmapLoader: BitmapLoader!,
    trackSelectorFactory: TrackSelector.Factory!
)
```

Creates an instance.  

|                                                                            Parameters                                                                             |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!`                                                                     | The[Context](https://developer.android.com/reference/android/content/Context.html).                                                                                                                                                                                                                             |
| `decoderFactory: `[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)`!`                      | The[Codec.DecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/Codec.DecoderFactory)to use to decode the samples (if necessary).                                                                                                                                          |
| `clock: `[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)`!`                                                             | The[Clock](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock)to use. It should always be[DEFAULT](https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock#DEFAULT()), except for testing.                                                               |
| `mediaSourceFactory: `[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)`?`               | The[MediaSource.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.Factory)to use to retrieve the samples to transform when an[ExoPlayerAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/ExoPlayerAssetLoader)is used. |
| `bitmapLoader: `[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)`!`                                        | The[BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader)to use to load and decode images.                                                                                                                                                                     |
| `trackSelectorFactory: `[TrackSelector.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/TrackSelector.Factory)`!` | The[TrackSelector.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/TrackSelector.Factory)to use when selecting the track to transform.                                                                                                                          |

## Public functions

### createAssetLoader

```
fun createAssetLoader(
    editedMediaItem: EditedMediaItem!,
    looper: Looper!,
    listener: AssetLoader.Listener!,
    compositionSettings: AssetLoader.CompositionSettings!
): AssetLoader!
```

Creates an[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)instance.  

|                                                                               Parameters                                                                                |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `editedMediaItem: `[EditedMediaItem](https://developer.android.com/reference/kotlin/androidx/media3/transformer/EditedMediaItem)`!`                                     | The[EditedMediaItem](https://developer.android.com/reference/kotlin/androidx/media3/transformer/EditedMediaItem)to load.                                                                                                                                |
| `looper: `[Looper](https://developer.android.com/reference/android/os/Looper.html)`!`                                                                                   | The[Looper](https://developer.android.com/reference/android/os/Looper.html)that's used to access the[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)after it's been created.                       |
| `listener: `[AssetLoader.Listener](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.Listener)`!`                                  | The[Listener](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.Listener)on which the[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)should notify of events. |
| `compositionSettings: `[AssetLoader.CompositionSettings](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.CompositionSettings)`!` | The[CompositionSettings](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader.CompositionSettings).                                                                                                                   |

|                                                 Returns                                                  |
|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)`!` | An[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader). |