public interface IDvrManifest
The difference between retrieving 'recorded entries' and 'live entries' is an important one. Recorded Entries means every current manifest entry. Live Entries refers to a subset of these because a playlist will not include the very last entries, as some chunks must be available for buffering.
| Modifier and Type | Field | Description |
|---|---|---|
static int |
CODEC_TYPE |
Constant for codec manifest type.
|
static String |
MANIFEST_TAGNAME_CAN_PLAY |
|
static String |
MANIFEST_TAGNAME_CAN_RECORD |
|
static String |
MANIFEST_TAGNAME_CHUNK_GROUPING |
|
static String |
MANIFEST_TAGNAME_CURRENT_TIME |
|
static String |
MANIFEST_TAGNAME_HAS_ENCRYPTION |
|
static String |
MANIFEST_TAGNAME_PURGE_TIME |
|
static int |
ON_METADATA_TYPE |
Constant for 'onMetadata' manifest type.
|
static int |
TIME_MAP_TYPE |
Constant for time map manifest type.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addToManifest(java.util.List<DvrManifestEntry> entries) |
Add manifest entries to the manifest
|
void |
deserialize(byte[] bytes) |
Deserialize the manifest.
|
long |
expandEndTime(int type,
long dvrEndTime) |
|
long |
expandStartTime(int type,
long dvrStartTime) |
|
IDvrChunkIDHandler3 |
getChunkIDHandler() |
|
long |
getClosestStartTime(int type,
long dvrTime) |
Given a dvrTime and a manifest type, find the closest chunk starting time.
|
DvrManifestCodecEntry |
getCodecEntryForTime(long dvrTime) |
Return most recent codec entry for a given DVR time.
|
long |
getDvrTime(int type) |
|
DvrManifestEntryRangeGroup |
getEntriesToPurge(long purgeTime) |
Given a purge time, return a group of manifest ranges to purge.
|
DvrManifestEntry |
getFirstEntry(int type) |
Given manifest type, get the first playlist manifest entry.
|
DvrManifestEntry |
getLastLiveEntry(int type) |
Given manifest type, get the last playlist manifest entry.
|
DvrManifestEntry |
getLastRecordedEntry(int type) |
Given manifest type and DVR time, get last entry.
|
long |
getLastRecordedIndex(int type) |
Return last index of DVR entry for given type.
|
long |
getLiveDuration(int type) |
Given manifest type, return DVR live duration in seconds
|
java.util.List<DvrManifestEntry> |
getLiveEntries(int type,
long dvrStart) |
Given manifest type and DVR time, get a list of the live entries.
|
java.util.List<DvrManifestEntry> |
getLiveEntriesWithLimit(int type,
long dvrTime,
int limit) |
Given manifest type and DVR time, get a list of the live entries limiting number of returned items.
|
com.wowza.wms.dvr.DvrChannelManifest |
getManifestChannel(int type) |
For a given manifest type, return the channel manifest.
|
DvrManifestOnMetadataEntry |
getMetadataEntryForTime(long dvrTime) |
Return most recent metadataEntry for a given DVR time.
|
long |
getNextChunkIndex(String streamName,
com.wowza.wms.dvr.DvrPacketHolder vPackets,
com.wowza.wms.dvr.DvrPacketHolder aPackets) |
|
long |
getNextCodecIndex() |
|
long |
getNextMetadataIndex() |
|
long |
getNextTimeMapIndex() |
|
int |
getNumberLiveEntries(int type,
long dvrStart) |
Given manifest type and DVR time, get the number of live entries at the given time.
|
int |
getNumberLiveEntries(int type,
long dvrStart,
long dvrEnd) |
Given manifest type and DVR time, get the number of live entries at the given time.
|
int |
getNumberRecordedEntries(int type,
long dvrStart) |
Given manifest type and DVR time, get the number of entries at the given time.
|
int |
getNumberRecordedEntries(int type,
long dvrStart,
long dvrEnd) |
Given manifest type and DVR time, get the number of live entries at the given time.
|
long |
getRecordedDuration(int type) |
Given manifest type, return DVR recorded duration in seconds
|
java.util.List<DvrManifestEntry> |
getRecordedEntries(int type) |
Get a copy of all manifest entries of a given type.
|
java.util.List<DvrManifestEntry> |
getRecordedEntries(int type,
long dvrStartTime) |
Given manifest type and DVR time, get a list of recorded entries.
|
java.util.List<DvrManifestEntry> |
getRecordedEntries(int type,
long dvrStartTime,
long dvrEndTime) |
Given manifest type and DVR time, get a list of recorded entries.
|
java.util.List<DvrManifestEntry> |
getRecordedEntriesInRange(DvrManifestEntryRange range) |
Given a DvrManifestEntryRange, get a list of recorded entries in this range.
|
java.util.Map<Long,DvrManifestEntry> |
getRecordedEntriesMap(int type) |
Get a copy of all manifest entries of a given type as a Map of indices.
|
java.util.List<DvrManifestEntry> |
getRecordedEntriesWithLimit(int type,
long dvrTime,
int limit) |
Given manifest type and DVR time, get a list of recorded entries limiting number of returned items.
|
DvrManifestEntry |
getRecordedEntryByIndex(int type,
long index) |
Get the manifest entry given a manifest type and an index.
|
DvrManifestEntry |
getRecordedEntryByTimeKey(int type,
long dvrTime) |
Get the manifest entry given a manifest type and a time (in DVR units)
|
IDvrTimeMap |
getTimeMap() |
|
boolean |
hasAudio() |
Does manifest contain audio.
|
boolean |
hasCodecData() |
Does manifest contain codec data.
|
boolean |
hasData() |
Does manifest contain data.
|
boolean |
hasOnMetadata() |
Does manifest contain onMetadata.
|
boolean |
hasTimeMapData() |
Does manifest contain time map info.
|
boolean |
hasVideo() |
Does manifest contain video.
|
void |
importManifest(IDvrManifest manifest,
boolean persist) |
Import the specified manifest into this manifest
|
void |
initialize() |
Initialize the manifest.
|
java.util.List<DvrManifestEntry> |
purgeEntries(DvrManifestEntryRangeGroup ranges) |
Given a group of ranges, purge the manifest entries.
|
void |
refreshManifest() |
Refresh the mainfest.
|
byte[] |
serialize(boolean ignoreEntries) |
Serialize the manifest.
|
static final int CODEC_TYPE
static final String MANIFEST_TAGNAME_CAN_PLAY
static final String MANIFEST_TAGNAME_CAN_RECORD
static final String MANIFEST_TAGNAME_CHUNK_GROUPING
static final String MANIFEST_TAGNAME_CURRENT_TIME
static final String MANIFEST_TAGNAME_HAS_ENCRYPTION
static final String MANIFEST_TAGNAME_PURGE_TIME
static final int ON_METADATA_TYPE
static final int TIME_MAP_TYPE
void addToManifest(java.util.List<DvrManifestEntry> entries)
entries - list of entries.void deserialize(byte[] bytes)
bytes - buffer of bytes to deserializelong expandEndTime(int type,
long dvrEndTime)
long expandStartTime(int type,
long dvrStartTime)
IDvrChunkIDHandler3 getChunkIDHandler()
long getClosestStartTime(int type,
long dvrTime)
type - manifest typedvrTime - DVR timeDvrManifestCodecEntry getCodecEntryForTime(long dvrTime)
dvrTime - DVR timelong getDvrTime(int type)
DvrManifestEntryRangeGroup getEntriesToPurge(long purgeTime)
purgeTime - The DVR time to purgeDvrManifestEntry getFirstEntry(int type)
type - the manifest type.DvrManifestEntry getLastLiveEntry(int type)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the playlist.
type - the manifest type.DvrManifestEntry getLastRecordedEntry(int type)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.long getLastRecordedIndex(int type)
type - long getLiveDuration(int type)
"Recorded Entries" includes those entries after the end of the "live" playlist.
type - the manifest type.java.util.List<DvrManifestEntry> getLiveEntries(int type, long dvrStart)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the playlist.
type - the manifest type.dvrStart - DVR timejava.util.List<DvrManifestEntry> getLiveEntriesWithLimit(int type, long dvrTime, int limit)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the playlist.
type - the manifest type.dvrTime - DVR timelimit - maximum number of returned itemscom.wowza.wms.dvr.DvrChannelManifest getManifestChannel(int type)
type - DvrManifestOnMetadataEntry getMetadataEntryForTime(long dvrTime)
dvrTime - DVR timelong getNextChunkIndex(String streamName,
com.wowza.wms.dvr.DvrPacketHolder vPackets,
com.wowza.wms.dvr.DvrPacketHolder aPackets)
long getNextCodecIndex()
long getNextMetadataIndex()
long getNextTimeMapIndex()
int getNumberLiveEntries(int type,
long dvrStart)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the playlist.
type - the manifest type.dvrStart - DVR timeint getNumberLiveEntries(int type,
long dvrStart,
long dvrEnd)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the playlist.
type - the manifest type.dvrStart - DVR timedvrEnd - end DVR timeint getNumberRecordedEntries(int type,
long dvrStart)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.dvrStart - DVR timeint getNumberRecordedEntries(int type,
long dvrStart,
long dvrEnd)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.dvrStart - DVR timedvrEnd - end DVR timelong getRecordedDuration(int type)
"Recorded Entries" includes those entries after the end of the "live" playlist.
type - the manifest type.java.util.List<DvrManifestEntry> getRecordedEntries(int type)
IVHost.CONTENTTYPE_AUDIO, IVHost.CONTENTTYPE_VIDEO, IVHost.CONTENTTYPE_DATA, ON_METADATA_TYPE, CODEC_TYPE, or TIME_MAP_TYPEtype - The manifest type.java.util.List<DvrManifestEntry> getRecordedEntries(int type, long dvrStartTime)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.dvrStartTime - DVR timejava.util.List<DvrManifestEntry> getRecordedEntries(int type, long dvrStartTime, long dvrEndTime)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.dvrStartTime - DVR timedvrEndTime - DVR end timejava.util.List<DvrManifestEntry> getRecordedEntriesInRange(DvrManifestEntryRange range)
range - a range (which consists of a manifest type and a start and end index)java.util.Map<Long,DvrManifestEntry> getRecordedEntriesMap(int type)
IVHost.CONTENTTYPE_AUDIO, IVHost.CONTENTTYPE_VIDEO, IVHost.CONTENTTYPE_DATA, ON_METADATA_TYPE, CODEC_TYPE, or TIME_MAP_TYPEtype - the manifest type.java.util.List<DvrManifestEntry> getRecordedEntriesWithLimit(int type, long dvrTime, int limit)
"Recorded Entries" includes those entries after the end of the playlist.
type - the manifest type.dvrTime - DVR timelimit - maximum number of returned itemsDvrManifestEntry getRecordedEntryByIndex(int type, long index)
type - the manifest type.index - the index into the manifestDvrManifestEntry getRecordedEntryByTimeKey(int type, long dvrTime)
type - the manifest type.dvrTime - DVR timeIDvrTimeMap getTimeMap()
boolean hasAudio()
boolean hasCodecData()
boolean hasData()
boolean hasOnMetadata()
boolean hasTimeMapData()
boolean hasVideo()
void importManifest(IDvrManifest manifest, boolean persist)
manifest - persist - void initialize()
java.util.List<DvrManifestEntry> purgeEntries(DvrManifestEntryRangeGroup ranges)
ranges - Group of rangesvoid refreshManifest()
byte[] serialize(boolean ignoreEntries)
ignoreEntries - If true, the individual manifest entries are not serialized.