DefaultDvrStreamVersionHandlerpublic interface IDvrStreamVersionHandler
| Modifier and Type | Method | Description |
|---|---|---|
IDvrStreamStore |
determineExistingStoreForPlaying(IDvrStreamManager dvrManager,
String baseStreamName) |
When a session requests a stream store w/o specifying the version, we need gto determine the version of the stream to store.
|
IDvrStreamStore |
determineExistingStoreForRecording(IDvrStreamManager dvrManager,
String baseStreamName) |
After a set of versioned streams are loaded from disk, one of them may be designated the stream that will be recorded to (i.e.
|
String |
getArchiveStrategy(IDvrStreamManager dvrManager,
String baseStreamName) |
Determine the archive strategy for a given set of streams.
|
boolean |
handleArchivedStream(IDvrStreamManager dvrManager,
String baseStreamName,
String version,
java.util.SortedSet<Integer> versions,
com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifest) |
When a stream group inits, the file system is checked for older versions of the streams.
|
boolean |
shouldDeleteArchivedStream(IDvrStreamManager dvrManager,
IDvrStreamStore store) |
Determine if a given stream store version should be deleted.
|
boolean |
shouldLoadArchivedStream(IDvrStreamManager dvrManager,
String baseStreamName,
String version,
java.util.SortedSet<Integer> versions,
com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifest) |
Determine if a given stream store version should be loaded into WMS.
|
IDvrStreamStore determineExistingStoreForPlaying(IDvrStreamManager dvrManager, String baseStreamName)
The default implementation first checks the recording stream. If it 'canPlay(), it is returned. Otherwise, the highest versioned stream that canRecord set to true is used.
dvrManager - The DVR Stream ManagerbaseStreamName - The base stream name (no version info). e.g. myStreamDefaultDvrStreamVersionHandlerIDvrStreamStore determineExistingStoreForRecording(IDvrStreamManager dvrManager, String baseStreamName)
The default implementation says that if append mode, then the highest versioned stream that has canRecord set to true is used. But this API, allows for a more detailed logic.
dvrManager - The DVR Stream ManagerbaseStreamName - The base stream name (no version info). e.g. myStreamDefaultDvrStreamVersionHandlerString getArchiveStrategy(IDvrStreamManager dvrManager, String baseStreamName)
Typically, this returns the archive strategy as specified in Application.xml, but this API provides a hook for more detailed logic in determining the strategy.
dvrManager - The DVR App Instance ManagerbaseStreamName - The base stream name (no version info). e.g. myStreamDefaultDvrStreamVersionHandler,
IDvrConstants.ARCHIVE_STRATEGY_APPEND,
IDvrConstants.ARCHIVE_STRATEGY_DELETE,
IDvrConstants.ARCHIVE_STRATEGY_VERSIONboolean handleArchivedStream(IDvrStreamManager dvrManager, String baseStreamName, String version, java.util.SortedSet<Integer> versions, com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifest)
Typically, 3 things can happen: The stream is ignored, loaded, or deleted.
dvrManager - The DVR Stream ManagerbaseStreamName - The base stream name (no version info). e.g. myStreamversion - The version of the stream to be loaded.versions - A sorted set of all the versions that are attempting to be loadedmanifest - The main manifest info of the streamDefaultDvrStreamVersionHandlerboolean shouldDeleteArchivedStream(IDvrStreamManager dvrManager, IDvrStreamStore store)
dvrManager - The DVR Stream Managerstore - The DVR storeDefaultDvrStreamVersionHandlerboolean shouldLoadArchivedStream(IDvrStreamManager dvrManager, String baseStreamName, String version, java.util.SortedSet<Integer> versions, com.wowza.wms.dvr.io.manifest.DvrManifestHolder manifest)
dvrManager - The DVR Stream ManagerbaseStreamName - The base stream name (no version info). e.g. myStreamversion - The version of the stream to be loaded.versions - A sorted set of all the versions that are attempting to be loadedmanifest - The main manifest info of the streamDefaultDvrStreamVersionHandler