Interface IDvrManifest
- 
 public interface IDvrManifestInterface for a DVR Store manifest. A DVR manifest collects type-specific manifest info, including:- Audio manifest
- Video manifest
- data manifest
- time map manifest, to map DVR, packet and real time
- codec manifest to track codec information
- onMetadata manifest
 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. 
- 
- 
Field SummaryFields Modifier and Type Field Description static intCODEC_TYPEConstant for codec manifest type.static StringMANIFEST_TAGNAME_CAN_PLAYstatic StringMANIFEST_TAGNAME_CAN_RECORDstatic StringMANIFEST_TAGNAME_CHUNK_GROUPINGstatic StringMANIFEST_TAGNAME_CURRENT_TIMEstatic StringMANIFEST_TAGNAME_HAS_ENCRYPTIONstatic StringMANIFEST_TAGNAME_PURGE_TIMEstatic intON_METADATA_TYPEConstant for 'onMetadata' manifest type.static intTIME_MAP_TYPEConstant for time map manifest type.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddToManifest(java.util.List<DvrManifestEntry> entries)Add manifest entries to the manifestvoiddeserialize(byte[] bytes)Deserialize the manifest.longexpandEndTime(int type, long dvrEndTime)longexpandStartTime(int type, long dvrStartTime)IDvrChunkIDHandler3getChunkIDHandler()longgetClosestStartTime(int type, long dvrTime)Given a dvrTime and a manifest type, find the closest chunk starting time.DvrManifestCodecEntrygetCodecEntryForTime(long dvrTime)Return most recent codec entry for a given DVR time.longgetDvrTime(int type)DvrManifestEntryRangeGroupgetEntriesToPurge(long purgeTime)Given a purge time, return a group of manifest ranges to purge.DvrManifestEntrygetFirstEntry(int type)Given manifest type, get the first playlist manifest entry.DvrManifestEntrygetLastLiveEntry(int type)Given manifest type, get the last playlist manifest entry.DvrManifestEntrygetLastRecordedEntry(int type)Given manifest type and DVR time, get last entry.longgetLastRecordedIndex(int type)Return last index of DVR entry for given type.longgetLiveDuration(int type)Given manifest type, return DVR live duration in secondsjava.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.DvrChannelManifestgetManifestChannel(int type)For a given manifest type, return the channel manifest.DvrManifestOnMetadataEntrygetMetadataEntryForTime(long dvrTime)Return most recent metadataEntry for a given DVR time.longgetNextChunkIndex(String streamName, com.wowza.wms.dvr.DvrPacketHolder vPackets, com.wowza.wms.dvr.DvrPacketHolder aPackets)longgetNextCodecIndex()longgetNextMetadataIndex()longgetNextTimeMapIndex()intgetNumberLiveEntries(int type, long dvrStart)Given manifest type and DVR time, get the number of live entries at the given time.intgetNumberLiveEntries(int type, long dvrStart, long dvrEnd)Given manifest type and DVR time, get the number of live entries at the given time.intgetNumberRecordedEntries(int type, long dvrStart)Given manifest type and DVR time, get the number of entries at the given time.intgetNumberRecordedEntries(int type, long dvrStart, long dvrEnd)Given manifest type and DVR time, get the number of live entries at the given time.longgetRecordedDuration(int type)Given manifest type, return DVR recorded duration in secondsjava.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.DvrManifestEntrygetRecordedEntryByIndex(int type, long index)Get the manifest entry given a manifest type and an index.DvrManifestEntrygetRecordedEntryByTimeKey(int type, long dvrTime)Get the manifest entry given a manifest type and a time (in DVR units)IDvrTimeMapgetTimeMap()booleanhasAudio()Does manifest contain audio.booleanhasCodecData()Does manifest contain codec data.booleanhasData()Does manifest contain data.booleanhasOnMetadata()Does manifest contain onMetadata.booleanhasTimeMapData()Does manifest contain time map info.booleanhasVideo()Does manifest contain video.voidimportManifest(IDvrManifest manifest, boolean persist)Import the specified manifest into this manifestvoidinitialize()Initialize the manifest.java.util.List<DvrManifestEntry>purgeEntries(DvrManifestEntryRangeGroup ranges)Given a group of ranges, purge the manifest entries.voidrefreshManifest()Refresh the mainfest.byte[]serialize(boolean ignoreEntries)Serialize the manifest.
 
- 
- 
- 
Field Detail- 
ON_METADATA_TYPEstatic final int ON_METADATA_TYPE Constant for 'onMetadata' manifest type.- See Also:
- Constant Field Values
 
 - 
CODEC_TYPEstatic final int CODEC_TYPE Constant for codec manifest type.- See Also:
- Constant Field Values
 
 - 
TIME_MAP_TYPEstatic final int TIME_MAP_TYPE Constant for time map manifest type.- See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_CAN_RECORDstatic final String MANIFEST_TAGNAME_CAN_RECORD - See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_CAN_PLAYstatic final String MANIFEST_TAGNAME_CAN_PLAY - See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_HAS_ENCRYPTIONstatic final String MANIFEST_TAGNAME_HAS_ENCRYPTION - See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_CHUNK_GROUPINGstatic final String MANIFEST_TAGNAME_CHUNK_GROUPING - See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_PURGE_TIMEstatic final String MANIFEST_TAGNAME_PURGE_TIME - See Also:
- Constant Field Values
 
 - 
MANIFEST_TAGNAME_CURRENT_TIMEstatic final String MANIFEST_TAGNAME_CURRENT_TIME - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
initializevoid initialize() Initialize the manifest. Called after the previous storage has been loaded but before any chunks are added.
 - 
refreshManifestvoid refreshManifest() Refresh the mainfest.
 - 
addToManifestvoid addToManifest(java.util.List<DvrManifestEntry> entries) Add manifest entries to the manifest- Parameters:
- entries- list of entries.
 
 - 
getRecordedEntriesjava.util.List<DvrManifestEntry> getRecordedEntries(int type) Get a copy of all manifest entries of a given type. Valid types include:IVHost.CONTENTTYPE_AUDIO,IVHost.CONTENTTYPE_VIDEO,IVHost.CONTENTTYPE_DATA,ON_METADATA_TYPE,CODEC_TYPE, orTIME_MAP_TYPE- Parameters:
- type- The manifest type.
- Returns:
- list of entries
 
 - 
getRecordedEntriesMapjava.util.Map<Long,DvrManifestEntry> getRecordedEntriesMap(int type) Get a copy of all manifest entries of a given type as a Map of indices. Valid types include:IVHost.CONTENTTYPE_AUDIO,IVHost.CONTENTTYPE_VIDEO,IVHost.CONTENTTYPE_DATA,ON_METADATA_TYPE,CODEC_TYPE, orTIME_MAP_TYPE- Parameters:
- type- the manifest type.
- Returns:
- map of entries
 
 - 
getRecordedEntriesInRangejava.util.List<DvrManifestEntry> getRecordedEntriesInRange(DvrManifestEntryRange range) Given a DvrManifestEntryRange, get a list of recorded entries in this range.- Parameters:
- range- a range (which consists of a manifest type and a start and end index)
- Returns:
- list of entries
 
 - 
getLastRecordedEntryDvrManifestEntry getLastRecordedEntry(int type) Given manifest type and DVR time, get last entry."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- Returns:
- manifest entry
 
 - 
getRecordedEntryByTimeKeyDvrManifestEntry getRecordedEntryByTimeKey(int type, long dvrTime) Get the manifest entry given a manifest type and a time (in DVR units)- Parameters:
- type- the manifest type.
- dvrTime- DVR time
- Returns:
- manifest entry
 
 - 
getRecordedEntryByIndexDvrManifestEntry getRecordedEntryByIndex(int type, long index) Get the manifest entry given a manifest type and an index.- Parameters:
- type- the manifest type.
- index- the index into the manifest
- Returns:
- manifest entry
 
 - 
getEntriesToPurgeDvrManifestEntryRangeGroup getEntriesToPurge(long purgeTime) Given a purge time, return a group of manifest ranges to purge. This method ensures that the purge entries are aligned by index so that audio and video always remain index aligned.- Parameters:
- purgeTime- The DVR time to purge
- Returns:
- a group of ranges.
 
 - 
purgeEntriesjava.util.List<DvrManifestEntry> purgeEntries(DvrManifestEntryRangeGroup ranges) Given a group of ranges, purge the manifest entries.- Parameters:
- ranges- Group of ranges
- Returns:
- A list of the purged items.
 
 - 
getMetadataEntryForTimeDvrManifestOnMetadataEntry getMetadataEntryForTime(long dvrTime) Return most recent metadataEntry for a given DVR time. The manifest for metadata entries is sparse-- it only stores items periodically. So for a given time t, the returned entry will exist at or before time t.- Parameters:
- dvrTime- DVR time
- Returns:
- onMetadata Entry
 
 - 
getCodecEntryForTimeDvrManifestCodecEntry getCodecEntryForTime(long dvrTime) Return most recent codec entry for a given DVR time. The manifest for codec entries is sparse-- it only stores items periodically. So for a given time t, the returned entry will exist at or before time t.- Parameters:
- dvrTime- DVR time
- Returns:
- Codec Entry
 
 - 
getNumberLiveEntriesint getNumberLiveEntries(int type, long dvrStart)Given manifest type and DVR time, get the number of live entries at the given time."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. - Parameters:
- type- the manifest type.
- dvrStart- DVR time
- Returns:
- number of entries.
 
 - 
getNumberLiveEntriesint getNumberLiveEntries(int type, long dvrStart, long dvrEnd)Given manifest type and DVR time, get the number of live entries at the given time."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. - Parameters:
- type- the manifest type.
- dvrStart- DVR time
- dvrEnd- end DVR time
- Returns:
- number of entries.
 
 - 
getNumberRecordedEntriesint getNumberRecordedEntries(int type, long dvrStart)Given manifest type and DVR time, get the number of entries at the given time."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- dvrStart- DVR time
- Returns:
- number of entries.
 
 - 
getNumberRecordedEntriesint getNumberRecordedEntries(int type, long dvrStart, long dvrEnd)Given manifest type and DVR time, get the number of live entries at the given time."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- dvrStart- DVR time
- dvrEnd- end DVR time
- Returns:
- number of entries.
 
 - 
getFirstEntryDvrManifestEntry getFirstEntry(int type) Given manifest type, get the first playlist manifest entry.- Parameters:
- type- the manifest type.
- Returns:
- manifest entry
 
 - 
getLastLiveEntryDvrManifestEntry getLastLiveEntry(int type) Given manifest type, get the last playlist manifest entry."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. - Parameters:
- type- the manifest type.
- Returns:
- manifest entry
 
 - 
getLiveEntriesjava.util.List<DvrManifestEntry> getLiveEntries(int type, long dvrStart) Given manifest type and DVR time, get a list of the live entries."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. - Parameters:
- type- the manifest type.
- dvrStart- DVR time
- Returns:
- list of entries.
 
 - 
getLiveEntriesWithLimitjava.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."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. - Parameters:
- type- the manifest type.
- dvrTime- DVR time
- limit- maximum number of returned items
- Returns:
- list of entries.
 
 - 
getRecordedEntriesWithLimitjava.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."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- dvrTime- DVR time
- limit- maximum number of returned items
- Returns:
- list of entries.
 
 - 
getRecordedEntriesjava.util.List<DvrManifestEntry> getRecordedEntries(int type, long dvrStartTime) Given manifest type and DVR time, get a list of recorded entries."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- dvrStartTime- DVR time
- Returns:
- list of entries.
 
 - 
getRecordedEntriesjava.util.List<DvrManifestEntry> getRecordedEntries(int type, long dvrStartTime, long dvrEndTime) Given manifest type and DVR time, get a list of recorded entries."Recorded Entries" includes those entries after the end of the playlist. - Parameters:
- type- the manifest type.
- dvrStartTime- DVR time
- dvrEndTime- DVR end time
- Returns:
- list of entries.
 
 - 
getRecordedDurationlong getRecordedDuration(int type) Given manifest type, return DVR recorded duration in seconds"Recorded Entries" includes those entries after the end of the "live" playlist. - Parameters:
- type- the manifest type.
- Returns:
- duration in seconds
 
 - 
getLiveDurationlong getLiveDuration(int type) Given manifest type, return DVR live duration in seconds"Recorded Entries" includes those entries after the end of the "live" playlist. - Parameters:
- type- the manifest type.
- Returns:
- duration in seconds
 
 - 
getDvrTimelong getDvrTime(int type) 
 - 
getLastRecordedIndexlong getLastRecordedIndex(int type) Return last index of DVR entry for given type.- Parameters:
- type-
- Returns:
- index, or -1 if type does not exist
 
 - 
getNextChunkIndexlong getNextChunkIndex(String streamName, com.wowza.wms.dvr.DvrPacketHolder vPackets, com.wowza.wms.dvr.DvrPacketHolder aPackets)
 - 
getNextMetadataIndexlong getNextMetadataIndex() 
 - 
getNextCodecIndexlong getNextCodecIndex() 
 - 
getNextTimeMapIndexlong getNextTimeMapIndex() 
 - 
getManifestChannelcom.wowza.wms.dvr.DvrChannelManifest getManifestChannel(int type) For a given manifest type, return the channel manifest.- Parameters:
- type-
- Returns:
- channel manifest
 
 - 
importManifestvoid importManifest(IDvrManifest manifest, boolean persist) Import the specified manifest into this manifest- Parameters:
- manifest-
- persist-
 
 - 
getClosestStartTimelong getClosestStartTime(int type, long dvrTime)Given a dvrTime and a manifest type, find the closest chunk starting time.- Parameters:
- type- manifest type
- dvrTime- DVR time
- Returns:
- time that corresponds to the closest start time of the given manifest type
 
 - 
expandEndTimelong expandEndTime(int type, long dvrEndTime)
 - 
expandStartTimelong expandStartTime(int type, long dvrStartTime)
 - 
hasVideoboolean hasVideo() Does manifest contain video.- Returns:
- true if it contains video.
 
 - 
hasAudioboolean hasAudio() Does manifest contain audio.- Returns:
- true if it contains audio.
 
 - 
hasDataboolean hasData() Does manifest contain data.- Returns:
- true if it contains data.
 
 - 
hasOnMetadataboolean hasOnMetadata() Does manifest contain onMetadata.- Returns:
- true if it contains onMetadata.
 
 - 
hasCodecDataboolean hasCodecData() Does manifest contain codec data.- Returns:
- true if it contains codec data
 
 - 
hasTimeMapDataboolean hasTimeMapData() Does manifest contain time map info.- Returns:
- true if it contains time map info.
 
 - 
serializebyte[] serialize(boolean ignoreEntries) Serialize the manifest.- Parameters:
- ignoreEntries- If true, the individual manifest entries are not serialized.
- Returns:
- byte array of serialized data
 
 - 
deserializevoid deserialize(byte[] bytes) Deserialize the manifest. Should be called after default constructor for manifest has been called.- Parameters:
- bytes- buffer of bytes to deserialize
 
 - 
getTimeMapIDvrTimeMap getTimeMap() 
 - 
getChunkIDHandlerIDvrChunkIDHandler3 getChunkIDHandler() 
 
- 
 
-