Interface IDvrStreamManager
- All Superinterfaces:
ILiveStreamPacketizer
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddDvrRecordingListener(IDvrRecordingListener listener) Add listener to DVR recording events.voidaddDvrStoreListener(IDvrStoreListener listener) Add listener to DVR store lifecycle events.voidaddManifestEntries(String vStreamName, List<DvrManifestEntry> entries, String serverGuid) Add to stream stores manifest.voidbooleanIs this stream able to record.voiddeleteArchivedStore(String vStreamName) Delete archived stream store.Get the DVR archive strategy.Get stream context string, useful for logging.Get the store to be used for streaming.Get the class used for the DVR file system.Get the storage directory.intGet DVR window size.com.wowza.wms.dvr.DvrBaseEncryptionInfoDelegateGet the encryption delegate for providing streaming side encryption info objects.Get the DVR encryption shared secret.Return stream store that is highest known version.voidgetInitialRepeaterItems(List<com.wowza.wms.httpstreamer.dvrrepeater.DvrRepeaterHolder> items) Get initial repeater items to send to repeater receiver.intReturn number of chunks that must be available to stream.Get live stream packetizer name.Get current recording storevoidgetRepeaterItemsDvr(List<com.wowza.wms.httpstreamer.dvrrepeater.DvrRepeaterHolder> items, long lastSeq) Get input streamName (no version info).getStreamStore(String vStreamName) Given a stream name containing version info, return the associated stream store.Get list of all stream stores known to this stream manager.Get the stream version handler object.voidinitialAttributes(String vStreamName, int dvrWindow) voidinitialManifest(String vStreamName, IDvrManifest manifest) voidinitialManifestEnd(String vStreamName) booleanIs this stream currently recording.booleanIs this stream currently paused from recording.loadArchivedStore(String vStreamName, com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifestHolder) Load archived stream store.voidnotifyDvrStreamStorageDeleted(IDvrStreamStore store, com.wowza.wms.dvr.io.IDvrFileSystem fileSystem, boolean success) voidvoidvoidvoidvoidnotifyTimeReset(IDvrStreamStore store, long oldDvrTime, long oldPacketTime, com.wowza.wms.dvr.TimeMapRecord newTimeMapRecord) Request that stream recording pause.voidpurgeManifestEntries(String vStreamName, DvrManifestEntryRangeGroup rangeGroup) Purge entries from storevoidRemove listener to DVR recording events.voidremoveDvrStoreListener(IDvrStoreListener listener) Remove listener of DVR store lifecycle events.voidremoveStreamStore(String vStreamName) voidReset the stream.Request that stream recording resume.voidvoidSet the store to be used for streaming.voidSet the store used for recording.voidSet the stream version handler object.Request that stream recording start.voidstateChange(String vStreamName, com.wowza.wms.dvr.DvrStreamStoreState state) Request that stream recording stop.com.wowza.wms.dvr.DvrChunkStorageInfostoreChunks(int vDuration, com.wowza.wms.dvr.DvrPacketHolder vPackets, int aDuration, com.wowza.wms.dvr.DvrPacketHolder aPackets, int dDuration, com.wowza.wms.dvr.DvrPacketHolder dPackets) booleanstoreOnMetadata(long pt, long utc, AMFPacket metaPacket) Methods inherited from interface com.wowza.wms.stream.livepacketizer.ILiveStreamPacketizer
getAndSetStartStream, getApplicationInstance, getLiveStreamPacketizerId, getMinPlaylistSegmentCount, getProperties, getRepeaterLastSeqence, getSegmentDurationTarget, getSegmentStartKeyTimecode, getSegmentStopKeyTimecode, getSessionFormat, handlePacket, init, isActive, isPacketizeAudio, isPacketizeData, isPacketizeVideo, isRepeaterEdge, resetStream, sendLastData, setLiveStreamPacketizerId, setPacketizeAudio, setPacketizeData, setPacketizeVideo, setRepeaterEdge, setSegmentStopKeyTimecode, shutdown, startStream, touch
-
Method Details
-
getContextStr
String getContextStr()Get stream context string, useful for logging.- Returns:
- stream context string
-
getStreamBaseName
String getStreamBaseName()Get input streamName (no version info).- Returns:
- unversioned incoming stream name
-
getStreamStore
Given a stream name containing version info, return the associated stream store.- Parameters:
vStreamName- versioned stream name- Returns:
- store or null
-
getPacketizerName
String getPacketizerName()Get live stream packetizer name.- Returns:
- live stream packetizer name
-
getStreamStores
List<IDvrStreamStore> getStreamStores()Get list of all stream stores known to this stream manager.- Returns:
- list of stream stores.
-
getHighestVersionedStore
IDvrStreamStore getHighestVersionedStore()Return stream store that is highest known version.- Returns:
- stream store
-
getMinimumAvailableChunks
int getMinimumAvailableChunks()Return number of chunks that must be available to stream.- Returns:
- minimum available chunks
-
setRecordingStreamStore
Set the store used for recording.- Parameters:
store- stream store, or null
-
getRecordingStreamStore
IDvrStreamStore getRecordingStreamStore()Get current recording store- Returns:
- current recording store (may be null)
-
setDefaultStreamingStore
Set the store to be used for streaming.- Parameters:
store- store to stream.
-
getDefaultStreamingStore
IDvrStreamStore getDefaultStreamingStore()Get the store to be used for streaming.- Returns:
- store to stream.
-
getDvrStorageWindowSeconds
int getDvrStorageWindowSeconds()Get DVR window size.- Returns:
- window size in seconds (0 means infinite window size)
-
getDvrStorageDir
String getDvrStorageDir()Get the storage directory.- Returns:
- storage directory
-
getDvrFileSystemClass
String getDvrFileSystemClass()Get the class used for the DVR file system.- Returns:
- fully qualified class name
-
getArchiveStrategy
String getArchiveStrategy()Get the DVR archive strategy.- Returns:
- The archive strategy
-
getEncryptionDelegate
com.wowza.wms.dvr.DvrBaseEncryptionInfoDelegate getEncryptionDelegate()Get the encryption delegate for providing streaming side encryption info objects.- Returns:
- delegate
-
getStreamVersionHandler
IDvrStreamVersionHandler getStreamVersionHandler()Get the stream version handler object.- Returns:
- stream version handler object.
-
setStreamVersionHandler
Set the stream version handler object. Must be called after the stream manager is created and before it is initialized.- Parameters:
handler- stream version handler object.
-
resetStream
void resetStream()Reset the stream. -
canRecord
boolean canRecord()Is this stream able to record.- Returns:
- true if this stream is recordable.
-
isRecording
boolean isRecording()Is this stream currently recording. If this stream is not recordable, the method returns false.- Returns:
- true if has a recording stream and it is recording.
-
isRecordingPaused
boolean isRecordingPaused()Is this stream currently paused from recording. If this stream is not recording and not paused, the method returns false.- Returns:
- true if has a recording is paused.
-
startRecording
IDvrStreamStore startRecording()Request that stream recording start.Used internally. Clients should call
ILiveStreamDvrRecorder.startRecording(). Note that this call places the DVR stream store in the recording state. If the stream store is in the paused state, DVR recording will not occur.If there is not currently a stream store for recording, one will attempt to be created. A successful start will result in registered
IDvrRecordingListeners to have theirIDvrRecordingListener.recordingStarted(IDvrStreamStore)method called.Success only occurs if the stream canRecord
IDvrStreamStore.canRecord()and the stream is not already in the recording state.- Returns:
- store if successful. null otherwise.
-
stopRecording
IDvrStreamStore stopRecording()Request that stream recording stop.Used internally. Clients should call
ILiveStreamDvrRecorder.stopRecording(). Note that this call places the DVR stream in the not recording state.A successful stop will result in registered
IDvrRecordingListeners to have theirIDvrRecordingListener.recordingStopped(IDvrStreamStore)method called.Success only occurs if the stream is already in the recording state
IDvrStreamStore.isRecording().- Returns:
- store if successful. null otherwise.
-
pauseRecording
IDvrStreamStore pauseRecording()Request that stream recording pause.Used internally. Clients should call
ILiveStreamDvrRecorder.pauseRecording(). The stream does not have to be actively recording to be paused. For example, it could be paused before packets start flowing.A successful pause will result in registered
IDvrRecordingListeners to have theirIDvrRecordingListener.recordingPaused(IDvrStreamStore)method called.- Returns:
- store if successful. null otherwise.
-
resumeRecording
IDvrStreamStore resumeRecording()Request that stream recording resume.Used internally. Clients should call
ILiveStreamDvrRecorder.resumeRecording(). The stream does not have to be actively recording to be resumed. For example, it could have been paused before the stream started, and this call would move it out of the paused state.A successful resume will result in registered
IDvrRecordingListeners to have theirIDvrRecordingListener.recordingResumed(IDvrStreamStore)method called.- Returns:
- store if successful. null otherwise.
-
loadArchivedStore
IDvrStreamStore loadArchivedStore(String vStreamName, com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifestHolder) Load archived stream store.- Parameters:
vStreamName- versioned stream Name (e.g. myStream.0)manifestHolder- manifest holder containing list of manifest properties- Returns:
- stream store
-
deleteArchivedStore
Delete archived stream store.- Parameters:
vStreamName- versioned stream Name (e.g. myStream.0)
-
addManifestEntries
Add to stream stores manifest.- Parameters:
vStreamName- versioned stream Name (e.g. myStream.0)entries- list of manifest entries.serverGuid-
-
purgeManifestEntries
Purge entries from store- Parameters:
vStreamName- versioned stream Name (e.g. myStream.0)rangeGroup- set of ranges for purging
-
storeChunks
com.wowza.wms.dvr.DvrChunkStorageInfo storeChunks(int vDuration, com.wowza.wms.dvr.DvrPacketHolder vPackets, int aDuration, com.wowza.wms.dvr.DvrPacketHolder aPackets, int dDuration, com.wowza.wms.dvr.DvrPacketHolder dPackets) -
storeOnMetadata
-
addDvrStoreListener
Add listener to DVR store lifecycle events.- Parameters:
listener- listener
-
removeDvrStoreListener
Remove listener of DVR store lifecycle events.- Parameters:
listener- listener
-
addDvrRecordingListener
Add listener to DVR recording events.- Parameters:
listener- listener
-
removeDvrRecordingListener
Remove listener to DVR recording events.- Parameters:
listener- listener
-
notifyDvrStreamStoreCreate
-
notifyDvrStreamStoreInit
-
notifyDvrStreamStoreDestroy
-
notifyDvrStreamStoreLoaded
-
notifyDvrStreamStorageDeleted
void notifyDvrStreamStorageDeleted(IDvrStreamStore store, com.wowza.wms.dvr.io.IDvrFileSystem fileSystem, boolean success) -
notifyTimeReset
void notifyTimeReset(IDvrStreamStore store, long oldDvrTime, long oldPacketTime, com.wowza.wms.dvr.TimeMapRecord newTimeMapRecord) -
getInitialRepeaterItems
Get initial repeater items to send to repeater receiver.When an edge initially requests the items, instead if sending the entire manifest and all repeater items up until that point, the player sends a
DvrRepeaterHolder.REPEATER_INITIAL_MANIFESTevent followed by severalDvrRepeaterHolder.REPEATER_ADD_MANIFEST_ENTRIESevents.This allows us to not bother sending any purged manifest entries.
- Parameters:
items-
-
getRepeaterItemsDvr
void getRepeaterItemsDvr(List<com.wowza.wms.httpstreamer.dvrrepeater.DvrRepeaterHolder> items, long lastSeq) -
initialManifest
-
initialManifestEnd
-
initialAttributes
-
stateChange
-
removeStreamStore
-
addRepeaterHeartBeatItem
void addRepeaterHeartBeatItem() -
setDataHandler
-
getDataHandler
IHTTPStreamerCupertinoLivePacketizerDataHandler getDataHandler()
-