Interface IDvrStreamStore


public interface IDvrStreamStore
  • Method Details

    • init

      void init()
      Initialize DVR stream store.
    • reset

      void reset()
    • shutdown

      void shutdown()
    • setReadCacheEnable

      void setReadCacheEnable(boolean enable)
      Set the state of the read cache
      Parameters:
      enable -
    • shutdownReadCache

      void shutdownReadCache()
      Shutdown the read cache, this should get called when the store shuts down.
    • getProperties

      WMSProperties getProperties()
      Get stream store properties.
      Returns:
      properties
    • getDvrStorageWindowSeconds

      int getDvrStorageWindowSeconds()
      Get DVR window size. This may be set by setting the IDvrStreamStore's property IDvrConstants.PROPERTY_WINDOW_DURATION after the store is created and before it is initialized by using the IDvrStoreListener.dvrStreamStoreCreate(IDvrStreamStore)
      Returns:
      window size in seconds (0 means infinite window size)
    • getStreamName

      String getStreamName()
      Get versioned stream name.
      Returns:
      (versioned) stream name
    • getContextStr

      String getContextStr()
      Get stream context string, useful for logging.
      Returns:
      stream context string
    • getDvrManager

      IDvrStreamManager getDvrManager()
      Get DVR Stream Manager
      Returns:
      DVR Stream Manager
    • getAppInstance

      IApplicationInstance getAppInstance()
      Get associated application instance.
      Returns:
      application instance.
    • getManifest

      IDvrManifest getManifest()
      Get manifest
      Returns:
      manifest
    • getTimeMapper

      com.wowza.wms.dvr.DvrTimeMapper getTimeMapper()
      Get time mapper, which maps between DVR, real and packet time.
      Returns:
      time mapper
    • getPurgeController

      IDvrPurgeController getPurgeController()
      Get purge controller for stream store.
      Returns:
      purge controller
    • getFileSystem

      com.wowza.wms.dvr.io.IDvrFileSystem getFileSystem()
    • getChunker

      IDvrChunker getChunker()
    • canRecord

      boolean canRecord()
      Is this store capable of recording.
      Returns:
      true if store can record
    • isLoaded

      boolean isLoaded()
    • setCanRecord

      void setCanRecord(boolean canRecord)
      Set the Stream Stores ability to record.

      Note: Must be called when stream is not recording.

      Parameters:
      canRecord -
    • canPlay

      boolean canPlay()
      Is this store capable of playing.
      Returns:
      true if store can play
    • setCanPlay

      void setCanPlay(boolean canPlay)
      Set the Stream Stores ability to play.

      Note: Must be called when stream is not playing.

      Parameters:
      canPlay -
    • setHasEncryption

      void setHasEncryption(boolean hasEncryption)
      Set whether the store has encryption. Used internally.

      Note: Must be called when stream is not playing.

      Parameters:
      hasEncryption - if store has encryption
    • hasEncryption

      boolean hasEncryption()
      Does this store contain encryption information
      Returns:
      true if store contains encryption
    • hasVideo

      boolean hasVideo()
      Does this store have video.
      Returns:
      true if store contains video, false otherwise.
    • hasAudio

      boolean hasAudio()
      Does this store have audio.
      Returns:
      true if store contains audio, false otherwise.
    • hasData

      boolean hasData()
      Does this store have data.
      Returns:
      true if store contains data, false otherwise.
    • hasOnMetadata

      boolean hasOnMetadata()
      Does this store have on metadata.
      Returns:
      true if store contains on metadata, false otherwise.
    • startRecording

      boolean startRecording()
      Request that recording start.

      Used internally. Clients should call ILiveStreamDvrRecorder.startRecording().

      Success occurs if the stream canRecord canRecord() and the stream is not already in the recording state isRecording().

      Returns:
      true if successful.
    • pauseRecording

      boolean pauseRecording()
      Request that stream recording pause.

      Used internally. Clients should call ILiveStreamDvrRecorder.pauseRecording().

      Success occurs if the stream is not already paused.

      Returns:
      true if successful.
    • resumeRecording

      boolean resumeRecording()
      Request that stream recording resume.

      Used internally. Clients should call ILiveStreamDvrRecorder.resumeRecording().

      Success occurs if the stream was previously paused.

      Returns:
      true if successful.
    • stopRecording

      boolean stopRecording()
      Request that stream recording stop. This shuts down saving of chunks

      Used internally. Clients should call ILiveStreamDvrRecorder.stopRecording().

      Success only occurs if the stream is already in the recording state isRecording().

      Returns:
      true if successful.
    • isRecordingPaused

      boolean isRecordingPaused()
      Is store currently paused while recording.
      Returns:
      true if recording is paused.
    • isRecording

      boolean isRecording()
      Is store currently recording. This will always be false for an edge.
      Returns:
      true if recording
    • isLive

      boolean isLive()
      Is store currently live For an origin, isRecording() and isLive() will typically return the same result. On an edge, isRecording() will always be false. But isLive() will reflect the status of the repeated stream.
      Returns:
      true if live
    • 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)
    • purgeEntries

      void purgeEntries(DvrManifestEntryRangeGroup rangeGroup)
      Purge entries from store
      Parameters:
      rangeGroup - s set of ranges for purging
    • addManifestEntries

      void addManifestEntries(List<DvrManifestEntry> entries)
    • addDvrChunkListener

      void addDvrChunkListener(IDvrStoreChunkListener listener)
      Add (very fine) listener for chunk events.
      Parameters:
      listener - listener
    • removeDvrChunkListener

      void removeDvrChunkListener(IDvrStoreChunkListener listener)
      Remove (very fine) listener for chunk events.
      Parameters:
      listener - listener
    • getRecordedEntriesWithLimit

      List<DvrManifestEntry> getRecordedEntriesWithLimit(int fragmentType, long t, int limit)
    • getRecordedEntryByIndex

      DvrManifestEntry getRecordedEntryByIndex(int fragmentType, long index)
    • getRecordedEntryByTime

      DvrManifestEntry getRecordedEntryByTime(int fragmentType, long t)
    • getDvrChunkByIndex

      com.wowza.wms.dvr.DvrChunk getDvrChunkByIndex(int fragmentType, long index)
    • getDvrChunkAtTime

      com.wowza.wms.dvr.DvrChunk getDvrChunkAtTime(int fragmentType, long t)
    • getDvrChunkNearTime

      com.wowza.wms.dvr.DvrChunk getDvrChunkNearTime(int fragmentType, long t, long delta)
    • getClosestStartTime

      long getClosestStartTime(int type, long t)