# TimestampAdjustmentShaderProgram

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

*** ** * ** ***


```
@UnstableApi
class TimestampAdjustmentShaderProgram : GlShaderProgram
```

<br />

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
>
> Use `EditedMediaItem.Builder#setSpeed(SpeedProvider)` instead.

Changes the frame timestamps using the `https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustment.TimestampMap`.

## Summary

| ### Public constructors |
|---|
| `[TimestampAdjustmentShaderProgram](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#TimestampAdjustmentShaderProgram(androidx.media3.effect.TimestampAdjustment.TimestampMap))( timestampMap: https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustment.TimestampMap! )` **This function is deprecated.** Deprecated in Java |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[flush](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#flush())()` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[queueInputFrame](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#queueInputFrame(androidx.media3.common.GlObjectsProvider,androidx.media3.common.GlTextureInfo,long))( glObjectsProvider: https://developer.android.com/reference/kotlin/androidx/media3/common/GlObjectsProvider!, inputTexture: https://developer.android.com/reference/kotlin/androidx/media3/common/GlTextureInfo!, presentationTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html )` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[release](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#release())()` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[releaseOutputFrame](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#releaseOutputFrame(androidx.media3.common.GlTextureInfo))(outputTexture: https://developer.android.com/reference/kotlin/androidx/media3/common/GlTextureInfo!)` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[setErrorListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setErrorListener(java.util.concurrent.Executor,androidx.media3.effect.GlShaderProgram.ErrorListener))( executor: https://developer.android.com/reference/java/util/concurrent/Executor.html!, errorListener: https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.ErrorListener! )` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[setInputListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setInputListener(androidx.media3.effect.GlShaderProgram.InputListener))(inputListener: https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener!)` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[setOutputListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setOutputListener(androidx.media3.effect.GlShaderProgram.OutputListener))(outputListener: https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.OutputListener!)` **This function is deprecated.** Deprecated in Java |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[signalEndOfCurrentInputStream](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#signalEndOfCurrentInputStream())()` **This function is deprecated.** Deprecated in Java |

## Public constructors

### TimestampAdjustmentShaderProgram

```
[TimestampAdjustmentShaderProgram](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#TimestampAdjustmentShaderProgram(androidx.media3.effect.TimestampAdjustment.TimestampMap))(
    timestampMap: TimestampAdjustment.TimestampMap!
)
```

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

## Public functions

### flush

```
fun [flush](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#flush())(): Unit
```

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

Flushes the `GlShaderProgram`.

The `GlShaderProgram` should reclaim the ownership of its allocated textures, `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener#onFlush()` its `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener` about the flush event, and `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener#onReadyToAcceptInputFrame()` if necessary.

The implementation must not `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.OutputListener#onOutputFrameAvailable(androidx.media3.common.GlTextureInfo,long)` until after this method returns.

### queueInputFrame

```
fun [queueInputFrame](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#queueInputFrame(androidx.media3.common.GlObjectsProvider,androidx.media3.common.GlTextureInfo,long))(
    glObjectsProvider: GlObjectsProvider!,
    inputTexture: GlTextureInfo!,
    presentationTimeUs: Long
): Unit
```

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

Processes an input frame if possible.

The `GlShaderProgram` owns the accepted frame until it calls `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener#onInputFrameProcessed(androidx.media3.common.GlTextureInfo)`. The caller should not overwrite or release the texture before the `GlShaderProgram` has finished processing it.

This method must only be called when the `GlShaderProgram` can `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener#onReadyToAcceptInputFrame()`.

| Parameters |
|---|---|
| `glObjectsProvider: https://developer.android.com/reference/kotlin/androidx/media3/common/GlObjectsProvider!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/GlObjectsProvider` for using EGL and GLES. |
| `inputTexture: https://developer.android.com/reference/kotlin/androidx/media3/common/GlTextureInfo!` | A `https://developer.android.com/reference/kotlin/androidx/media3/common/GlTextureInfo` describing the texture containing the input frame. |
| `presentationTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The presentation timestamp of the input frame, in microseconds. |

### release

```
fun [release](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#release())(): Unit
```

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

Releases all resources.

| Throws |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessingException` | If an error occurs while releasing resources. |

### releaseOutputFrame

```
fun [releaseOutputFrame](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#releaseOutputFrame(androidx.media3.common.GlTextureInfo))(outputTexture: GlTextureInfo!): Unit
```

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

Notifies the `GlShaderProgram` that the frame on the given output texture is no longer used and can be overwritten.

### setErrorListener

```
fun [setErrorListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setErrorListener(java.util.concurrent.Executor,androidx.media3.effect.GlShaderProgram.ErrorListener))(
    executor: Executor!,
    errorListener: GlShaderProgram.ErrorListener!
): Unit
```

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

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.ErrorListener`.

The `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.ErrorListener` is invoked on the provided `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

### setInputListener

```
fun [setInputListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setInputListener(androidx.media3.effect.GlShaderProgram.InputListener))(inputListener: GlShaderProgram.InputListener!): Unit
```

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

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener`.

The `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener` should be invoked on the thread that owns the parent OpenGL context. For example, `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor` invokes the `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.InputListener` methods on its internal thread.

### setOutputListener

```
fun [setOutputListener](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#setOutputListener(androidx.media3.effect.GlShaderProgram.OutputListener))(outputListener: GlShaderProgram.OutputListener!): Unit
```

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

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.OutputListener`.

The `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.OutputListener` should be invoked on the thread that owns the parent OpenGL context. For example, `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor` invokes the `https://developer.android.com/reference/kotlin/androidx/media3/effect/GlShaderProgram.OutputListener` methods on its internal thread.

### signalEndOfCurrentInputStream

```
fun [signalEndOfCurrentInputStream](https://developer.android.com/reference/kotlin/androidx/media3/effect/TimestampAdjustmentShaderProgram#signalEndOfCurrentInputStream())(): Unit
```

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

Notifies the `GlShaderProgram` that no further input frames belonging to the current input stream will be queued.

Input frames that are queued after this method is called belong to a different input stream.