Back to Exoplayer

SegmentBase.MultiSegmentBase (ExoPlayer library)

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

latest9.1 KB
Original Source

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

Class SegmentBase.MultiSegmentBase


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

A SegmentBase that consists of multiple 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 | | --- | --- | | MultiSegmentBase​(RangedUri initialization, long timescale, long presentationTimeOffset, long startNumber, long duration, List<SegmentBase.SegmentTimelineElement> segmentTimeline, long availabilityTimeOffsetUs, long timeShiftBufferDepthUs, long periodStartUnixTimeUs) | |

Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods | Modifier and Type | Method | Description | | --- | --- | --- | | long | getAvailableSegmentCount​(long periodDurationUs, long nowUnixTimeUs) | See DashSegmentIndex.getAvailableSegmentCount(long, long). | | long | getFirstAvailableSegmentNum​(long periodDurationUs, long nowUnixTimeUs) | See DashSegmentIndex.getFirstAvailableSegmentNum(long, long). | | long | getFirstSegmentNum() | See DashSegmentIndex.getFirstSegmentNum(). | | long | getNextSegmentAvailableTimeUs​(long periodDurationUs, long nowUnixTimeUs) | See DashSegmentIndex.getNextSegmentAvailableTimeUs(long, long). | | abstract long | getSegmentCount​(long periodDurationUs) | See DashSegmentIndex.getSegmentCount(long). | | long | getSegmentDurationUs​(long sequenceNumber, long periodDurationUs) | See DashSegmentIndex.getDurationUs(long, long). | | long | getSegmentNum​(long timeUs, long periodDurationUs) | See DashSegmentIndex.getSegmentNum(long, long). | | long | getSegmentTimeUs​(long sequenceNumber) | See DashSegmentIndex.getTimeUs(long). | | abstract RangedUri | getSegmentUrl​(Representation representation, long index) | Returns a RangedUri defining the location of a segment for the given index in the given representation. | | boolean | isExplicit() | See DashSegmentIndex.isExplicit() |

- 

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

getInitialization, getPresentationTimeOffsetUs

- 

Methods inherited from class java.lang.Object

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

Constructor Detail

- 

MultiSegmentBase

public MultiSegmentBase​(@Nullable[RangedUri](RangedUri.html "class in com.google.android.exoplayer2.source.dash.manifest")initialization,
                        long timescale,
                        long presentationTimeOffset,
                        long startNumber,
                        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,
                        long timeShiftBufferDepthUs,
                        long periodStartUnixTimeUs)

Parameters:initialization - A RangedUri corresponding to initialization data, if such data exists.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.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.timeShiftBufferDepthUs - The time shift buffer depth in microseconds.periodStartUnixTimeUs - The start of the enclosing period in microseconds since the Unix epoch.

Method Detail

- 

getSegmentNum

public long getSegmentNum​(long timeUs,
                          long periodDurationUs)

See DashSegmentIndex.getSegmentNum(long, long).

- 

getSegmentDurationUs

public final long getSegmentDurationUs​(long sequenceNumber,
                                       long periodDurationUs)

See DashSegmentIndex.getDurationUs(long, long).

- 

getSegmentTimeUs

public final long getSegmentTimeUs​(long sequenceNumber)

See DashSegmentIndex.getTimeUs(long).

- 

getSegmentUrl

public abstract[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 index)

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

See DashSegmentIndex.getSegmentUrl(long).

- 

getFirstSegmentNum

public long getFirstSegmentNum()

See DashSegmentIndex.getFirstSegmentNum().

- 

getFirstAvailableSegmentNum

public long getFirstAvailableSegmentNum​(long periodDurationUs,
                                        long nowUnixTimeUs)

See DashSegmentIndex.getFirstAvailableSegmentNum(long, long).

- 

getAvailableSegmentCount

public long getAvailableSegmentCount​(long periodDurationUs,
                                     long nowUnixTimeUs)

See DashSegmentIndex.getAvailableSegmentCount(long, long).

- 

getNextSegmentAvailableTimeUs

public long getNextSegmentAvailableTimeUs​(long periodDurationUs,
                                          long nowUnixTimeUs)

See DashSegmentIndex.getNextSegmentAvailableTimeUs(long, long).

- 

isExplicit

public boolean isExplicit()

See DashSegmentIndex.isExplicit()

- 

getSegmentCount

public abstract long getSegmentCount​(long periodDurationUs)

See DashSegmentIndex.getSegmentCount(long).