Back to Exoplayer

SegmentBase.SegmentTemplate (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html

latest8.6 KB
Original Source

Package com.google.android.exoplayer2.source.dash.manifest

Class SegmentBase.SegmentTemplate


public static final classSegmentBase.SegmentTemplateextends[SegmentBase.MultiSegmentBase](SegmentBase.MultiSegmentBase.html "class in com.google.android.exoplayer2.source.dash.manifest")

A SegmentBase.MultiSegmentBase that uses a SegmentTemplate to define its segments.

Nested Class Summary

- 

Nested classes/interfaces inherited from class com.google.android.exoplayer2.source.dash.manifest.SegmentBase

SegmentBase.MultiSegmentBase, SegmentBase.SegmentList, SegmentBase.SegmentTemplate, SegmentBase.SegmentTimelineElement, SegmentBase.SingleSegmentBase

Constructor Summary

Constructors | Constructor | Description | | --- | --- | | SegmentTemplate​(RangedUri initialization, long timescale, long presentationTimeOffset, long startNumber, long endNumber, long duration, List<SegmentBase.SegmentTimelineElement> segmentTimeline, long availabilityTimeOffsetUs, UrlTemplate initializationTemplate, UrlTemplate mediaTemplate, long timeShiftBufferDepthUs, long periodStartUnixTimeUs) | |

Method Summary

All Methods Instance Methods Concrete Methods | Modifier and Type | Method | Description | | --- | --- | --- | | RangedUri | getInitialization​(Representation representation) | Returns the RangedUri defining the location of initialization data for a given representation, or null if no initialization data exists. | | long | getSegmentCount​(long periodDurationUs) | See DashSegmentIndex.getSegmentCount(long). | | RangedUri | getSegmentUrl​(Representation representation, long sequenceNumber) | Returns a RangedUri defining the location of a segment for the given index in the given representation. |

- 

Methods inherited from class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase

getAvailableSegmentCount, getFirstAvailableSegmentNum, getFirstSegmentNum, getNextSegmentAvailableTimeUs, getSegmentDurationUs, getSegmentNum, getSegmentTimeUs, isExplicit

- 

Methods inherited from class com.google.android.exoplayer2.source.dash.manifest.SegmentBase

getPresentationTimeOffsetUs

- 

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

- 

SegmentTemplate

public SegmentTemplate​([RangedUri](RangedUri.html "class in com.google.android.exoplayer2.source.dash.manifest")initialization,
                       long timescale,
                       long presentationTimeOffset,
                       long startNumber,
                       long endNumber,
                       long duration,
                       @Nullable[List](https://developer.android.com/reference/java/util/List.html "class or interface in java.util")<[SegmentBase.SegmentTimelineElement](SegmentBase.SegmentTimelineElement.html "class in com.google.android.exoplayer2.source.dash.manifest")> segmentTimeline,
                       long availabilityTimeOffsetUs,
                       @Nullable[UrlTemplate](UrlTemplate.html "class in com.google.android.exoplayer2.source.dash.manifest")initializationTemplate,
                       @Nullable[UrlTemplate](UrlTemplate.html "class in com.google.android.exoplayer2.source.dash.manifest")mediaTemplate,
                       long timeShiftBufferDepthUs,
                       long periodStartUnixTimeUs)

Parameters:initialization - A RangedUri corresponding to initialization data, if such data exists. The value of this parameter is ignored if initializationTemplate is non-null.timescale - The timescale in units per second.presentationTimeOffset - The presentation time offset. The value in seconds is the division of this value and timescale.startNumber - The sequence number of the first segment.endNumber - The sequence number of the last segment as specified by the SupplementalProperty with schemeIdUri="http://dashif.org/guidelines/last-segment-number", or C.INDEX_UNSET.duration - 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 - 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 - The offset to the current realtime at which segments become available in microseconds, or C.TIME_UNSET if not applicable.initializationTemplate - A template defining the location of initialization data, if such data exists. If non-null then the initialization parameter is ignored. If null then initialization will be used.mediaTemplate - A template defining the location of each media segment.timeShiftBufferDepthUs - The time shift buffer depth in microseconds.periodStartUnixTimeUs - The start of the enclosing period in microseconds since the Unix epoch.

Method Detail

- 

getInitialization

@Nullable
public[RangedUri](RangedUri.html "class in com.google.android.exoplayer2.source.dash.manifest")getInitialization​([Representation](Representation.html "class in com.google.android.exoplayer2.source.dash.manifest")representation)

Description copied from class: SegmentBase

Returns the RangedUri defining the location of initialization data for a given representation, or null if no initialization data exists. Overrides:getInitialization in class SegmentBaseParameters:representation - The Representation for which initialization data is required.Returns:A RangedUri defining the location of the initialization data, or null.

- 

getSegmentUrl

public[RangedUri](RangedUri.html "class in com.google.android.exoplayer2.source.dash.manifest")getSegmentUrl​([Representation](Representation.html "class in com.google.android.exoplayer2.source.dash.manifest")representation,
                               long sequenceNumber)

Description copied from class: SegmentBase.MultiSegmentBase

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

See DashSegmentIndex.getSegmentUrl(long).

Specified by:getSegmentUrl in class SegmentBase.MultiSegmentBase

- 

getSegmentCount

public long getSegmentCount​(long periodDurationUs)

Description copied from class: SegmentBase.MultiSegmentBase

See DashSegmentIndex.getSegmentCount(long). Specified by:getSegmentCount in class SegmentBase.MultiSegmentBase