Class SsManifest
- java.lang.Object
-
- com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
-
- All Implemented Interfaces:
FilterableManifest<SsManifest>
public class SsManifest extends Object implements FilterableManifest<SsManifest>
Represents a SmoothStreaming manifest.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SsManifest.ProtectionElement
Represents a protection element containing a single header.static class
SsManifest.StreamElement
Represents a StreamIndex element.
-
Field Summary
Fields Modifier and Type Field Description long
durationUs
The overall presentation duration of the media in microseconds, orC.TIME_UNSET
if the duration is unknown.long
dvrWindowLengthUs
The length of the trailing window for a live broadcast in microseconds, orC.TIME_UNSET
if the stream is not live or if the window length is unspecified.boolean
isLive
Whether the manifest describes a live presentation still in progress.int
lookAheadCount
The number of fragments in a lookahead, orUNSET_LOOKAHEAD
if the lookahead is unspecified.int
majorVersion
The client manifest major version.int
minorVersion
The client manifest minor version.SsManifest.ProtectionElement
protectionElement
Content protection information, or null if the content is not protected.SsManifest.StreamElement[]
streamElements
The contained stream elements.static int
UNSET_LOOKAHEAD
-
Constructor Summary
Constructors Constructor Description SsManifest(int majorVersion, int minorVersion, long timescale, long duration, long dvrWindowLength, int lookAheadCount, boolean isLive, SsManifest.ProtectionElement protectionElement, SsManifest.StreamElement[] streamElements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SsManifest
copy(List<StreamKey> streamKeys)
Returns a copy of the manifest including only the streams specified by the given keys.
-
-
-
Field Detail
-
UNSET_LOOKAHEAD
public static final int UNSET_LOOKAHEAD
- See Also:
- Constant Field Values
-
majorVersion
public final int majorVersion
The client manifest major version.
-
minorVersion
public final int minorVersion
The client manifest minor version.
-
lookAheadCount
public final int lookAheadCount
The number of fragments in a lookahead, orUNSET_LOOKAHEAD
if the lookahead is unspecified.
-
isLive
public final boolean isLive
Whether the manifest describes a live presentation still in progress.
-
protectionElement
@Nullable public final SsManifest.ProtectionElement protectionElement
Content protection information, or null if the content is not protected.
-
streamElements
public final SsManifest.StreamElement[] streamElements
The contained stream elements.
-
durationUs
public final long durationUs
The overall presentation duration of the media in microseconds, orC.TIME_UNSET
if the duration is unknown.
-
dvrWindowLengthUs
public final long dvrWindowLengthUs
The length of the trailing window for a live broadcast in microseconds, orC.TIME_UNSET
if the stream is not live or if the window length is unspecified.
-
-
Constructor Detail
-
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:
majorVersion
- The client manifest major version.minorVersion
- The client manifest minor version.timescale
- The timescale of the media as the number of units that pass in one second.duration
- The overall presentation duration in units of the timescale attribute, or 0 if the duration is unknown.dvrWindowLength
- The length of the trailing window in units of the timescale attribute, or 0 if this attribute is unspecified or not applicable.lookAheadCount
- The number of fragments in a lookahead, orUNSET_LOOKAHEAD
if this attribute is unspecified or not applicable.isLive
- True if the manifest describes a live presentation still in progress. False otherwise.protectionElement
- Content protection information, or null if the content is not protected.streamElements
- The contained stream elements.
-
-
Method Detail
-
copy
public final SsManifest copy(List<StreamKey> streamKeys)
Description copied from interface:FilterableManifest
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.- Specified by:
copy
in interfaceFilterableManifest<SsManifest>
- Parameters:
streamKeys
- A non-empty list of stream keys.- Returns:
- The filtered manifest.
-
-