SegmentBase.SegmentList


class SegmentBase.SegmentList : SegmentBase.MultiSegmentBase


A MultiSegmentBase that uses a SegmentList to define its segments.

Summary

Public constructors

SegmentList(
    initialization: RangedUri!,
    timescale: Long,
    presentationTimeOffset: Long,
    startNumber: Long,
    duration: Long,
    segmentTimeline: (Mutable)List<SegmentBase.SegmentTimelineElement!>?,
    availabilityTimeOffsetUs: Long,
    mediaSegments: (Mutable)List<RangedUri!>?,
    timeShiftBufferDepthUs: Long,
    periodStartUnixTimeUs: Long
)

Public functions

Long
getSegmentCount(periodDurationUs: Long)

See getSegmentCount.

RangedUri!
getSegmentUrl(representation: Representation!, sequenceNumber: Long)

Returns a RangedUri defining the location of a segment for the given index in the given representation.

Boolean

See isExplicit

Inherited functions

From androidx.media3.exoplayer.dash.manifest.SegmentBase
RangedUri?
getInitialization(
    @UnderInitialization(value = Representation) representation: @UnderInitialization(value = Representation) Representation!
)

Returns the RangedUri defining the location of initialization data for a given representation, or null if no initialization data exists.

Long

Returns the presentation time offset, in microseconds.

From androidx.media3.exoplayer.dash.manifest.SegmentBase.MultiSegmentBase
Long
getAvailableSegmentCount(periodDurationUs: Long, nowUnixTimeUs: Long)

See getAvailableSegmentCount.

Long
getFirstAvailableSegmentNum(periodDurationUs: Long, nowUnixTimeUs: Long)

See getFirstAvailableSegmentNum.

Long

See getFirstSegmentNum.

Long
getNextSegmentAvailableTimeUs(
    periodDurationUs: Long,
    nowUnixTimeUs: Long
)

See getNextSegmentAvailableTimeUs.

Long
getSegmentDurationUs(sequenceNumber: Long, periodDurationUs: Long)

See getDurationUs.

Long
getSegmentNum(timeUs: Long, periodDurationUs: Long)

See getSegmentNum.

Long
getSegmentTimeUs(sequenceNumber: Long)

See getTimeUs.

Public constructors

SegmentList

SegmentList(
    initialization: RangedUri!,
    timescale: Long,
    presentationTimeOffset: Long,
    startNumber: Long,
    duration: Long,
    segmentTimeline: (Mutable)List<SegmentBase.SegmentTimelineElement!>?,
    availabilityTimeOffsetUs: Long,
    mediaSegments: (Mutable)List<RangedUri!>?,
    timeShiftBufferDepthUs: Long,
    periodStartUnixTimeUs: Long
)
Parameters
initialization: RangedUri!

A RangedUri corresponding to initialization data, if such data exists.

timescale: Long

The timescale in units per second.

presentationTimeOffset: Long

The presentation time offset. The value in seconds is the division of this value and timescale.

startNumber: Long

The sequence number of the first segment.

duration: Long

The duration of each segment in the case of fixed duration segments. The value in seconds is the division of this value and timescale. If segmentTimeline is non-null then this parameter is ignored.

segmentTimeline: (Mutable)List<SegmentBase.SegmentTimelineElement!>?

A segment timeline corresponding to the segments. If null, then segments are assumed to be of fixed duration as specified by the duration parameter.

availabilityTimeOffsetUs: Long

The offset to the current realtime at which segments become available in microseconds, or TIME_UNSET if not applicable.

mediaSegments: (Mutable)List<RangedUri!>?

A list of RangedUris indicating the locations of the segments.

timeShiftBufferDepthUs: Long

The time shift buffer depth in microseconds.

periodStartUnixTimeUs: Long

The start of the enclosing period in microseconds since the Unix epoch.

Public functions

getSegmentCount

fun getSegmentCount(periodDurationUs: Long): Long

See getSegmentCount.

getSegmentUrl

fun getSegmentUrl(representation: Representation!, sequenceNumber: Long): RangedUri!

Returns a RangedUri defining the location of a segment for the given index in the given representation.

See getSegmentUrl.

isExplicit

fun isExplicit(): Boolean

See isExplicit