TimestampAdjustment


@UnstableApi
class TimestampAdjustment : GlEffect


Changes the frame timestamps using the TimestampMap.

This effect doesn't drop any frames.

Summary

Nested types

Maps input timestamps to output timestamps asynchronously.

Public constructors

TimestampAdjustment(
    timestampMap: TimestampAdjustment.TimestampMap!,
    speedProvider: SpeedProvider!
)

Creates an instance.

Public functions

Long

Returns the expected duration of the output stream when the effect is applied given a input durationUs.

GlShaderProgram!
toGlShaderProgram(context: Context!, useHdr: Boolean)

Returns a GlShaderProgram that applies the effect.

Inherited functions

From androidx.media3.effect.GlEffect
Boolean
isNoOp(inputWidth: Int, inputHeight: Int)

Returns whether a GlEffect applies no change at every timestamp.

Public constructors

TimestampAdjustment

TimestampAdjustment(
    timestampMap: TimestampAdjustment.TimestampMap!,
    speedProvider: SpeedProvider!
)

Creates an instance.

Parameters
timestampMap: TimestampAdjustment.TimestampMap!

The TimestampMap

speedProvider: SpeedProvider!

The SpeedProvider specifying the approximate speed adjustments the TimestampMap should be applying.

Public functions

getDurationAfterEffectApplied

fun getDurationAfterEffectApplied(durationUs: Long): Long

Returns the expected duration of the output stream when the effect is applied given a input durationUs.

toGlShaderProgram

fun toGlShaderProgram(context: Context!, useHdr: Boolean): GlShaderProgram!

Returns a GlShaderProgram that applies the effect.

Parameters
context: Context!

A Context.

useHdr: Boolean

Whether input textures come from an HDR source. If true, colors will be in linear RGB BT.2020. If false, colors will be in linear RGB BT.709.

Throws
androidx.media3.common.VideoFrameProcessingException

If an error occurs while creating the .

Public properties

speedProvider

val speedProviderSpeedProvider!