# TextureAssetLoader

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/TextureAssetLoader.java+class:androidx.media3.transformer.TextureAssetLoader)

*** ** * ** ***


```
@UnstableApi
public final class TextureAssetLoader implements AssetLoader
```

<br />

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/transformer/RawAssetLoader`.

An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` implementation that loads videos from `https://developer.android.com/reference/android/opengl/GLES10.html#GL_TEXTURE_2D` instances.

Typically instantiated in a custom `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` saving a reference to the created `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader`. Provide video frames as input by calling `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#queueInputTexture(int,long)`, then `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#signalEndOfVideoInput()` when finished. Those methods must be called from the same thread, which can be any thread.

## Summary

| ### Public constructors |
|---|
| `[TextureAssetLoader](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#TextureAssetLoader(androidx.media3.transformer.EditedMediaItem,androidx.media3.transformer.AssetLoader.Listener,androidx.media3.common.Format,androidx.media3.common.OnInputFrameProcessedListener))( https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem editedMediaItem, https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener assetLoaderListener, https://developer.android.com/reference/androidx/media3/common/Format format, https://developer.android.com/reference/androidx/media3/common/OnInputFrameProcessedListener frameProcessedListener )` **This method is deprecated.** Deprecated in Java |

| ### Public methods |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/java/lang/Integer.html, https://developer.android.com/reference/java/lang/String.html>` | `[getDecoderNames](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#getDecoderNames())()` **This method is deprecated.** Deprecated in Java |
| `int` | `@https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState [getProgress](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#getProgress(androidx.media3.transformer.ProgressHolder))(https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder progressHolder)` **This method is deprecated.** Deprecated in Java |
| `boolean` | `[queueInputTexture](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#queueInputTexture(int,long))(int texId, long presentationTimeUs)` **This method is deprecated.** Deprecated in Java |
| `void` | `[release](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#release())()` **This method is deprecated.** Deprecated in Java |
| `void` | `[signalEndOfVideoInput](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#signalEndOfVideoInput())()` **This method is deprecated.** Deprecated in Java |
| `void` | `[start](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#start())()` **This method is deprecated.** Deprecated in Java |

### Inherited Constants

From [androidx.media3.transformer.AssetLoader](https://developer.android.com/reference/androidx/media3/transformer/AssetLoader) `static final int` `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader#SUPPORTED_OUTPUT_TYPE_DECODED() = 2`

**This field is deprecated.** Deprecated in Java
`static final int` `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader#SUPPORTED_OUTPUT_TYPE_ENCODED() = 1`

**This field is deprecated.** Deprecated in Java

## Public constructors

### TextureAssetLoader

```
public [TextureAssetLoader](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#TextureAssetLoader(androidx.media3.transformer.EditedMediaItem,androidx.media3.transformer.AssetLoader.Listener,androidx.media3.common.Format,androidx.media3.common.OnInputFrameProcessedListener))(
    EditedMediaItem editedMediaItem,
    AssetLoader.Listener assetLoaderListener,
    Format format,
    OnInputFrameProcessedListener frameProcessedListener
)
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Creates an instance.

The `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem#durationUs()`, `https://developer.android.com/reference/androidx/media3/common/Format#width()` and `https://developer.android.com/reference/androidx/media3/common/Format#height()` must be set.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem editedMediaItem` | Information about the media item for which frames are provided. |
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener assetLoaderListener` | Listener for asset loading events. |
| `https://developer.android.com/reference/androidx/media3/common/Format format` | Information about the format of video frames. |
| `https://developer.android.com/reference/androidx/media3/common/OnInputFrameProcessedListener frameProcessedListener` | Listener for the event when a frame has been processed. The listener receives a GL sync object (if supported) to allow reusing the texture after it's no longer in use. |

## Public methods

### getDecoderNames

```
public ImmutableMap<Integer, String> [getDecoderNames](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#getDecoderNames())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Return the used decoders' names.

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/java/lang/Integer.html, https://developer.android.com/reference/java/lang/String.html>` | The decoders' names keyed by `https://developer.android.com/reference/androidx/media3/common/C.TrackType`. |

### getProgress

```
@Transformer.ProgressState
public int [getProgress](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#getProgress(androidx.media3.transformer.ProgressHolder))(ProgressHolder progressHolder)
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Returns the current `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState` and updates `progressHolder` with the current progress if it is `https://developer.android.com/reference/androidx/media3/transformer/Transformer#PROGRESS_STATE_AVAILABLE()`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder progressHolder` | A `https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder`, updated to hold the percentage progress if `https://developer.android.com/reference/androidx/media3/transformer/Transformer#PROGRESS_STATE_AVAILABLE()`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState`. |

### queueInputTexture

```
public boolean [queueInputTexture](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#queueInputTexture(int,long))(int texId, long presentationTimeUs)
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Attempts to provide an input texture.

Must be called on the same thread as `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#signalEndOfVideoInput()`.

| Parameters |
|---|---|
| `int texId` | The ID of the texture to queue. |
| `long presentationTimeUs` | The presentation time for the texture, in microseconds. |

| Returns |
|---|---|
| `boolean` | Whether the texture was successfully queued. If `false`, the caller should try again later. |

### release

```
public void [release](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#release())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Stops loading data and releases all resources associated with the asset loader.

### signalEndOfVideoInput

```
public void [signalEndOfVideoInput](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#signalEndOfVideoInput())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Signals that no further input frames will be rendered.

Must be called on the same thread as `https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#queueInputTexture(int,long)`.

### start

```
public void [start](https://developer.android.com/reference/androidx/media3/transformer/TextureAssetLoader#start())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Starts the asset loader.