Class PushPublishHTTPBase

Object
com.wowza.wms.pushpublish.model.PushPublishBase
com.wowza.wms.pushpublish.model.PushPublishHTTPBase
All Implemented Interfaces:
IPushPublish
Direct Known Subclasses:
PushPublishHTTPCupertino, PushPublishHTTPYouTubeBase

public abstract class PushPublishHTTPBase extends PushPublishBase
  • Field Details

    • MIN_PLAYLIST_COUNT

      protected static final int MIN_PLAYLIST_COUNT
      The minimum allowable playlist size.
      See Also:
    • playlistCountFromPacketizer

      protected int playlistCountFromPacketizer
      The playlist size used by the associated live stream packetizer. How many segments to put in playlist
    • playlistCountFromMap

      protected int playlistCountFromMap
      The playlist size from the map entry.
    • maxSegmentCountFromPacketizer

      protected int maxSegmentCountFromPacketizer
      The max segment count used by the associated live stream packetizer. How many segments to hold for requests
    • maxSegmentCountFromMap

      protected int maxSegmentCountFromMap
      The max segment count from PushPublishMap.txt. How many segments to hold for requests
    • playlistMap

      protected PushPublishHTTPPlaylistMap playlistMap
      The playlist map.
    • playlistCrossName

      protected String playlistCrossName
      The instance-specific name for the playlist, allowing the playlist to be maintained across session restarts.
    • playlistName

      protected String playlistName
      The actual name of playlist file that is to be pushed to the destination (e.g. "playlist.m3u8").
    • relativePlaylists

      protected boolean relativePlaylists
      use only relative URL references in the playlist/manifest. If true baseUrl is ignored.
    • playlistBaseUrl

      protected String playlistBaseUrl
      base url to use in playlist/manifest
    • httpManifestDebug

      protected boolean httpManifestDebug
      Enables manifest playlist debug logging.
    • httpLogManifests

      protected boolean httpLogManifests
      Enables logging of the manifest itself.
    • INDETERMINATE_PLAYLIST_COUNT

      protected static final int INDETERMINATE_PLAYLIST_COUNT
      See Also:
    • playlistDurationFromMap

      protected long playlistDurationFromMap
      The playlist duration from the map entry. This value is in seconds. http.playlistDuration
    • playlistTimeout

      protected int playlistTimeout
      The timeout value used to delete orphaned playlists from the vhost.
    • playlistAcrossSessions

      protected boolean playlistAcrossSessions
      Indicates whether instance-specific playlists should be maintained across source stream interruptions and app restarts.
    • CACHE_CONTROL_MEDIA_DEFAULT

      public static final Integer CACHE_CONTROL_MEDIA_DEFAULT
      Cache Control header constants, used in push publish file cache control .e.g Cloud Storage ( S3, Azure, GCS )
    • CACHE_CONTROL_FACTOR

      public static final Float CACHE_CONTROL_FACTOR
    • CACHE_CONTROL_HEADER_KEY

      public static final String CACHE_CONTROL_HEADER_KEY
      See Also:
    • CACHE_CONTROL_HEADER

      public static final String CACHE_CONTROL_HEADER
      See Also:
    • CACHE_CONTROL_HEADER_NONE

      public static final String CACHE_CONTROL_HEADER_NONE
      See Also:
  • Constructor Details

    • PushPublishHTTPBase

      public PushPublishHTTPBase() throws com.wowza.wms.server.LicensingException
      Throws:
      com.wowza.wms.server.LicensingException
  • Method Details

    • init

      public void init(IApplicationInstance appInstance, String streamName, IMediaStream stream, Map<String,String> profileData, Map<String,String> maps, com.wowza.wms.pushpublish.manager.IPushPublisher pushPublisher, boolean streamDebug)
      Inits the instance.
      Specified by:
      init in interface IPushPublish
      Overrides:
      init in class PushPublishBase
      Parameters:
      appInstance - the app instance
      streamName - the source stream name
      maps - the map entry params
      profileData - the profile params
      streamDebug - stream debug flag
    • setPlaylistCountFromMap

      public void setPlaylistCountFromMap(int playlistCountFromMap)
      Set the playlist count value from the map file.
      Parameters:
      playlistCountFromMap - the playlist count
    • setPlaylistCountFromPacketizer

      public void setPlaylistCountFromPacketizer(int playlistCountFromPacketizer)
      Set the playlist count value from the live stream packetizer.
      Parameters:
      playlistCountFromPacketizer - the playlist count
    • setMaxSegmentCountFromMap

      public void setMaxSegmentCountFromMap(int maxSegmentCountFromMap)
    • setMaxSegmentCountFromPacketizer

      public void setMaxSegmentCountFromPacketizer(int maxSegmentCount)
    • getPlaylistCount

      public int getPlaylistCount()
      Get the playlist count. The value from the map file is returned if defined, else the packetizer value is returned return the playlist count
    • getMaxSegmentCount

      public int getMaxSegmentCount()
    • getPlaylistTimeout

      public int getPlaylistTimeout()
      Get the playlist timeout value. return the playlist timeout value
    • setPlaylistTimeout

      public void setPlaylistTimeout(int playlistTimeout)
      Set the playlist timeout value.
      Parameters:
      playlistTimeout - the playlist timeout
    • isPlaylistAcrossSessions

      public boolean isPlaylistAcrossSessions()
      Is the playlist maintained across recurring pushpublish sessions. return true if the playlist is maintained across recurring pushpublish sessions
    • setPlaylistAcrossSessions

      public void setPlaylistAcrossSessions(boolean playlistAcrossSessions)
      Set whether the playlist is maintained across recurring pushpublish sessions.
      Parameters:
      playlistAcrossSessions - is the playlist maintained across recurring pushpublish sessions
    • getPlaylistMap

      public PushPublishHTTPPlaylistMap getPlaylistMap()
      Get the playlist map. return the playlist map
    • isRelativePlaylists

      public boolean isRelativePlaylists()
    • setRelativePlaylists

      public void setRelativePlaylists(boolean relativePlaylists)
    • getPlaylistBaseUrl

      public String getPlaylistBaseUrl()
    • setPlaylistBaseUrl

      public void setPlaylistBaseUrl(String playlistBaseUrl)
    • getAdaptiveGroupName

      public String getAdaptiveGroupName()
    • setAdaptiveGroupName

      public void setAdaptiveGroupName(String adaptiveGroup)
    • isInAdaptiveGroup

      public boolean isInAdaptiveGroup()
      Is the entry in an adaptive group. return true if the entry is in an adaptive group
    • load

      public void load(HashMap<String,String> dataMap)
      Loads map and profile parameters
      Overrides:
      load in class PushPublishBase
      Parameters:
      dataMap - the data map
    • isLogDebugManifest

      public boolean isLogDebugManifest()
      Get the current setting of the HTTP Manifest debug logging This is controlled by the pushPublishHTTPPlayListDebug boolean property in the application.xml and by the http.manifestDebug setting in the pushpublish map file
      Returns:
      true if HTTP Mainfest debug logging is enabled
    • logDebugManifest

      public void logDebugManifest(String methodName, String log)
      Log the provided log str if the HTTP Manifest logging is enabled
      Parameters:
      methodName - name of the class method using the log
      log - string to log if enabled
    • setLiveStreamPacketizer

      protected void setLiveStreamPacketizer(ILiveStreamPacketizer liveStreamPacketizer)