ProducerReferenceTime


@UnstableApi
class ProducerReferenceTime


Represents a parsed ProducerReferenceTime element as defined in ISO/IEC 23009-1:2022 Section 5.12.

Summary

Nested types

The type of the producer reference time source clock.

Constants

const Long

Value of id indicating no value is set.

const Int

Indicates wall-clock time was established at the application level.

const Int

Indicates wall-clock time was established when the media was captured.

const Int

Indicates wall-clock time was established at the encoder.

Public constructors

ProducerReferenceTime(
    id: Long,
    inband: Boolean,
    @ProducerReferenceTime.ProducerReferenceTimeType type: Int,
    applicationScheme: String?,
    wallClockTimeMs: Long,
    presentationTime: Long,
    utcTiming: UtcTimingElement?
)

Constructs a new instance.

Public functions

Boolean
equals(obj: Any?)
Int

Public properties

String?

The application scheme URI if type is TYPE_APPLICATION, or null otherwise.

Long

An identifier for the producer reference time, or ID_UNSET if not specified.

Boolean

Whether the producer reference time is also present inband in the media segments.

Long

The media presentation time corresponding to wallClockTimeMs, in the track's timescale, or TIME_UNSET if not specified.

Int

The ProducerReferenceTimeType indicating the type of timing source.

UtcTimingElement?

An optional UtcTimingElement specifying the UTC timing synchronization source.

Long

The wall-clock time as a Unix epoch timestamp in milliseconds, or TIME_UNSET if not specified.

Constants

ID_UNSET

const val ID_UNSET = -1: Long

Value of id indicating no value is set.

TYPE_APPLICATION

const val TYPE_APPLICATION = 2: Int

Indicates wall-clock time was established at the application level.

TYPE_CAPTURED

const val TYPE_CAPTURED = 1: Int

Indicates wall-clock time was established when the media was captured.

TYPE_ENCODER

const val TYPE_ENCODER = 0: Int

Indicates wall-clock time was established at the encoder.

Public constructors

ProducerReferenceTime

ProducerReferenceTime(
    id: Long,
    inband: Boolean,
    @ProducerReferenceTime.ProducerReferenceTimeType type: Int,
    applicationScheme: String?,
    wallClockTimeMs: Long,
    presentationTime: Long,
    utcTiming: UtcTimingElement?
)

Constructs a new instance.

Parameters
id: Long

An identifier for the producer reference time, or ID_UNSET if not specified.

inband: Boolean

Whether the producer reference time is also present inband.

@ProducerReferenceTime.ProducerReferenceTimeType type: Int

The ProducerReferenceTimeType.

applicationScheme: String?

The application scheme URI, or null.

wallClockTimeMs: Long

The wall-clock time in milliseconds since epoch, or TIME_UNSET if not specified.

presentationTime: Long

The presentation time in track timescale, or TIME_UNSET if not specified.

utcTiming: UtcTimingElement?

An optional UtcTimingElement, or null.

Public functions

equals

fun equals(obj: Any?): Boolean

hashCode

fun hashCode(): Int

Public properties

applicationScheme

val applicationScheme: String?

The application scheme URI if type is TYPE_APPLICATION, or null otherwise.

id

val id: Long

An identifier for the producer reference time, or ID_UNSET if not specified.

inband

val inband: Boolean

Whether the producer reference time is also present inband in the media segments.

presentationTime

val presentationTime: Long

The media presentation time corresponding to wallClockTimeMs, in the track's timescale, or TIME_UNSET if not specified.

type

@ProducerReferenceTime.ProducerReferenceTimeType
val type: Int

The ProducerReferenceTimeType indicating the type of timing source.

utcTiming

val utcTiming: UtcTimingElement?

An optional UtcTimingElement specifying the UTC timing synchronization source.

wallClockTimeMs

val wallClockTimeMs: Long

The wall-clock time as a Unix epoch timestamp in milliseconds, or TIME_UNSET if not specified.