@UnstableApi
public class DashManifest implements FilterableManifest


Represents a DASH media presentation description (mpd), as defined by ISO/IEC 23009-1:2014 Section 5.3.1.2.

Summary

Public fields

final long

The availabilityStartTime value in milliseconds since epoch, or TIME_UNSET if not present.

final long

The duration of the presentation in milliseconds, or TIME_UNSET if not applicable.

final boolean

Whether the manifest has value "dynamic" for the type attribute.

final @Nullable Uri

The location of this manifest, or null if not present.

final long

The minBufferTime value in milliseconds, or TIME_UNSET if not present.

final long

The minimumUpdatePeriod value in milliseconds, or TIME_UNSET if not applicable.

final @Nullable ProgramInformation

The ProgramInformation, or null if not present.

final long

The publishTime value in milliseconds since epoch, or TIME_UNSET if not present.

final @Nullable ServiceDescriptionElement

The ServiceDescriptionElement, or null if not present.

final long

The suggestedPresentationDelay value in milliseconds, or TIME_UNSET if not present.

final long

The timeShiftBufferDepth value in milliseconds, or TIME_UNSET if not present.

final @Nullable UtcTimingElement

The UtcTimingElement, or null if not present.

Public constructors

DashManifest(
    long availabilityStartTimeMs,
    long durationMs,
    long minBufferTimeMs,
    boolean dynamic,
    long minUpdatePeriodMs,
    long timeShiftBufferDepthMs,
    long suggestedPresentationDelayMs,
    long publishTimeMs,
    @Nullable ProgramInformation programInformation,
    @Nullable UtcTimingElement utcTiming,
    @Nullable ServiceDescriptionElement serviceDescription,
    @Nullable Uri location,
    List<Period> periods
)

Public methods

final DashManifest
copy(List<StreamKey> streamKeys)

Returns a copy of the manifest including only the streams specified by the given keys.

final Period
getPeriod(int index)
final int
final long
final long

Public fields

availabilityStartTimeMs

public final long availabilityStartTimeMs

The availabilityStartTime value in milliseconds since epoch, or TIME_UNSET if not present.

durationMs

public final long durationMs

The duration of the presentation in milliseconds, or TIME_UNSET if not applicable.

dynamic

public final boolean dynamic

Whether the manifest has value "dynamic" for the type attribute.

location

public final @Nullable Uri location

The location of this manifest, or null if not present.

minBufferTimeMs

public final long minBufferTimeMs

The minBufferTime value in milliseconds, or TIME_UNSET if not present.

minUpdatePeriodMs

public final long minUpdatePeriodMs

The minimumUpdatePeriod value in milliseconds, or TIME_UNSET if not applicable.

programInformation

public final @Nullable ProgramInformation programInformation

The ProgramInformation, or null if not present.

publishTimeMs

public final long publishTimeMs

The publishTime value in milliseconds since epoch, or TIME_UNSET if not present.

serviceDescription

public final @Nullable ServiceDescriptionElement serviceDescription

The ServiceDescriptionElement, or null if not present.

suggestedPresentationDelayMs

public final long suggestedPresentationDelayMs

The suggestedPresentationDelay value in milliseconds, or TIME_UNSET if not present.

timeShiftBufferDepthMs

public final long timeShiftBufferDepthMs

The timeShiftBufferDepth value in milliseconds, or TIME_UNSET if not present.

utcTiming

public final @Nullable UtcTimingElement utcTiming

The UtcTimingElement, or null if not present. Defined in DVB A168:7/2016, Section 4.7.2.

Public constructors

DashManifest

public DashManifest(
    long availabilityStartTimeMs,
    long durationMs,
    long minBufferTimeMs,
    boolean dynamic,
    long minUpdatePeriodMs,
    long timeShiftBufferDepthMs,
    long suggestedPresentationDelayMs,
    long publishTimeMs,
    @Nullable ProgramInformation programInformation,
    @Nullable UtcTimingElement utcTiming,
    @Nullable ServiceDescriptionElement serviceDescription,
    @Nullable Uri location,
    List<Period> periods
)

Public methods

copy

public final DashManifest copy(List<StreamKey> streamKeys)

Returns a copy of the manifest including only the streams specified by the given keys. If the manifest is unchanged then the instance may return itself.

Parameters
List<StreamKey> streamKeys

A non-empty list of stream keys.

Returns
DashManifest

The filtered manifest.

getPeriod

public final Period getPeriod(int index)

getPeriodCount

public final int getPeriodCount()

getPeriodDurationMs

public final long getPeriodDurationMs(int index)

getPeriodDurationUs

public final long getPeriodDurationUs(int index)