Interface IDvrStreamManager

    • Method Detail

      • 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

        IDvrStreamStore getStreamStore​(String vStreamName)
        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

        java.util.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

        void setRecordingStreamStore​(IDvrStreamStore store)
        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

        void setDefaultStreamingStore​(IDvrStreamStore store)
        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
      • getEncryptionRepeaterSharedSecret

        String getEncryptionRepeaterSharedSecret()
        Get the DVR encryption shared secret.
        Returns:
        shared secret.
      • 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

        void setStreamVersionHandler​(IDvrStreamVersionHandler handler)
        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.
      • 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

        void deleteArchivedStore​(String vStreamName)
        Delete archived stream store.
        Parameters:
        vStreamName - versioned stream Name (e.g. myStream.0)
      • addManifestEntries

        void addManifestEntries​(String vStreamName,
                                java.util.List<DvrManifestEntry> entries,
                                String serverGuid)
        Add to stream stores manifest.
        Parameters:
        vStreamName - versioned stream Name (e.g. myStream.0)
        entries - list of manifest entries.
        serverGuid -
      • purgeManifestEntries

        void purgeManifestEntries​(String vStreamName,
                                  DvrManifestEntryRangeGroup rangeGroup)
        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

        boolean storeOnMetadata​(long pt,
                                long utc,
                                AMFPacket metaPacket)
      • addDvrStoreListener

        void addDvrStoreListener​(IDvrStoreListener listener)
        Add listener to DVR store lifecycle events.
        Parameters:
        listener - listener
      • removeDvrStoreListener

        void removeDvrStoreListener​(IDvrStoreListener listener)
        Remove listener of DVR store lifecycle events.
        Parameters:
        listener - listener
      • addDvrRecordingListener

        void addDvrRecordingListener​(IDvrRecordingListener listener)
        Add listener to DVR recording events.
        Parameters:
        listener - listener
      • removeDvrRecordingListener

        void removeDvrRecordingListener​(IDvrRecordingListener listener)
        Remove listener to DVR recording events.
        Parameters:
        listener - listener
      • notifyDvrStreamStoreCreate

        void notifyDvrStreamStoreCreate​(IDvrStreamStore store)
      • notifyDvrStreamStoreInit

        void notifyDvrStreamStoreInit​(IDvrStreamStore store)
      • notifyDvrStreamStoreDestroy

        void notifyDvrStreamStoreDestroy​(IDvrStreamStore store)
      • notifyDvrStreamStoreLoaded

        void notifyDvrStreamStoreLoaded​(IDvrStreamStore store)
      • 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

        void getInitialRepeaterItems​(java.util.List<com.wowza.wms.httpstreamer.dvrrepeater.DvrRepeaterHolder> items)
        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_MANIFEST event followed by several DvrRepeaterHolder.REPEATER_ADD_MANIFEST_ENTRIES events.

        This allows us to not bother sending any purged manifest entries.

        Parameters:
        items -
      • getRepeaterItemsDvr

        void getRepeaterItemsDvr​(java.util.List<com.wowza.wms.httpstreamer.dvrrepeater.DvrRepeaterHolder> items,
                                 long lastSeq)
      • initialManifest

        void initialManifest​(String vStreamName,
                             IDvrManifest manifest)
      • initialManifestEnd

        void initialManifestEnd​(String vStreamName)
      • initialAttributes

        void initialAttributes​(String vStreamName,
                               int dvrWindow)
      • stateChange

        void stateChange​(String vStreamName,
                         com.wowza.wms.dvr.DvrStreamStoreState state)
      • removeStreamStore

        void removeStreamStore​(String vStreamName)
      • addRepeaterHeartBeatItem

        void addRepeaterHeartBeatItem()