@UnstableApi
public class SsManifest implements FilterableManifest


Represents a SmoothStreaming manifest.

See the IIS Smooth Streaming Client Manifest Format

Summary

Nested types

Represents a protection element containing a single header.

Represents a StreamIndex element.

Constants

static final int

Public fields

final long

The overall presentation duration of the media in microseconds, or TIME_UNSET if the duration is unknown.

final long

The length of the trailing window for a live broadcast in microseconds, or TIME_UNSET if the stream is not live or if the window length is unspecified.

final boolean

Whether the manifest describes a live presentation still in progress.

final int

The number of fragments in a lookahead, or UNSET_LOOKAHEAD if the lookahead is unspecified.

final int

The client manifest major version.

final int

The client manifest minor version.

final @Nullable SsManifest.ProtectionElement

Content protection information, or null if the content is not protected.

final SsManifest.StreamElement[]

The contained stream elements.

Public constructors

SsManifest(
    int majorVersion,
    int minorVersion,
    long timescale,
    long duration,
    long dvrWindowLength,
    int lookAheadCount,
    boolean isLive,
    @Nullable SsManifest.ProtectionElement protectionElement,
    SsManifest.StreamElement[] streamElements
)

Public methods

final SsManifest
copy(List<StreamKey> streamKeys)

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

Constants

UNSET_LOOKAHEAD

public static final int UNSET_LOOKAHEAD = -1

Public fields

durationUs

public final long durationUs

The overall presentation duration of the media in microseconds, or TIME_UNSET if the duration is unknown.

dvrWindowLengthUs

public final long dvrWindowLengthUs

The length of the trailing window for a live broadcast in microseconds, or TIME_UNSET if the stream is not live or if the window length is unspecified.

isLive

public final boolean isLive

Whether the manifest describes a live presentation still in progress.

lookAheadCount

public final int lookAheadCount

The number of fragments in a lookahead, or UNSET_LOOKAHEAD if the lookahead is unspecified.

majorVersion

public final int majorVersion

The client manifest major version.

minorVersion

public final int minorVersion

The client manifest minor version.

protectionElement

public final @Nullable SsManifest.ProtectionElement protectionElement

Content protection information, or null if the content is not protected.

streamElements

public final SsManifest.StreamElement[] streamElements

The contained stream elements.

Public constructors

SsManifest

public SsManifest(
    int majorVersion,
    int minorVersion,
    long timescale,
    long duration,
    long dvrWindowLength,
    int lookAheadCount,
    boolean isLive,
    @Nullable SsManifest.ProtectionElement protectionElement,
    SsManifest.StreamElement[] streamElements
)
Parameters
int majorVersion

The client manifest major version.

int minorVersion

The client manifest minor version.

long timescale

The timescale of the media as the number of units that pass in one second.

long duration

The overall presentation duration in units of the timescale attribute, or 0 if the duration is unknown.

long dvrWindowLength

The length of the trailing window in units of the timescale attribute, or 0 if this attribute is unspecified or not applicable.

int lookAheadCount

The number of fragments in a lookahead, or UNSET_LOOKAHEAD if this attribute is unspecified or not applicable.

boolean isLive

True if the manifest describes a live presentation still in progress. False otherwise.

@Nullable SsManifest.ProtectionElement protectionElement

Content protection information, or null if the content is not protected.

SsManifest.StreamElement[] streamElements

The contained stream elements.

Public methods

copy

public final SsManifest 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
SsManifest

The filtered manifest.