Class PushPublishHTTPCupertinoAkamaiHandler

All Implemented Interfaces:
com.wowza.wms.pushpublish.akamai.IPushPublishAkamai, IPushPublish, IPushPublishHTTPGroupMember, IPushPublishHTTPOutputBuilder, IPushPublishHTTPCupertino

public class PushPublishHTTPCupertinoAkamaiHandler extends PushPublishHTTPCupertino implements com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
  • Constructor Details

    • PushPublishHTTPCupertinoAkamaiHandler

      public PushPublishHTTPCupertinoAkamaiHandler() 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)
      Description copied from class: PushPublishHTTPBase
      Inits the instance.
      Specified by:
      init in interface IPushPublish
      Overrides:
      init in class PushPublishHTTPCupertino
      Parameters:
      appInstance - the app instance
      streamName - the source stream name
      profileData - the profile params
      maps - the map entry params
      streamDebug - stream debug flag
    • load

      public void load(HashMap<String,String> dataMap)
      Description copied from class: PushPublishHTTPBase
      Loads map and profile parameters
      Overrides:
      load in class PushPublishHTTPCupertino
      Parameters:
      dataMap - the data map
    • outputOpen

      public boolean outputOpen()
      Description copied from interface: IPushPublishHTTPCupertino
      Open the destination (if needed) in preparation of having one or more items (playlists/media segments) pushed to it
      Specified by:
      outputOpen in interface IPushPublishHTTPCupertino
      Specified by:
      outputOpen in interface IPushPublishHTTPOutputBuilder
      Returns:
      true if the destination was opened
    • outputClose

      public boolean outputClose()
      Description copied from interface: IPushPublishHTTPCupertino
      Close the destination (if needed). All items (playlist/media segments) have been pushed to bring the destination up to date with the current state
      Specified by:
      outputClose in interface IPushPublishHTTPCupertino
      Specified by:
      outputClose in interface IPushPublishHTTPOutputBuilder
      Returns:
      true if the destination was closed
    • connect

      public void connect()
      Specified by:
      connect in interface IPushPublish
      Overrides:
      connect in class PushPublishHTTPCupertino
    • resetConnection

      public void resetConnection()
      Specified by:
      resetConnection in interface IPushPublish
      Overrides:
      resetConnection in class PushPublishHTTPCupertino
    • getChunkDurationTarget

      public int getChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer)
      Specified by:
      getChunkDurationTarget in interface IPushPublishHTTPOutputBuilder
      Overrides:
      getChunkDurationTarget in class PushPublishHTTPCupertino
    • isSendToBackupServer

      public boolean isSendToBackupServer()
      Description copied from interface: IPushPublishHTTPCupertino
      Is this implementation sending to a backup server
      Specified by:
      isSendToBackupServer in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
      Specified by:
      isSendToBackupServer in interface IPushPublishHTTPCupertino
      Specified by:
      isSendToBackupServer in interface IPushPublishHTTPGroupMember
      Returns:
      true if sending to a backup server
    • setSendToBackupServer

      public void setSendToBackupServer(boolean backup)
      Description copied from interface: IPushPublishHTTPCupertino
      Setup to send to a backup destination
      Specified by:
      setSendToBackupServer in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
      Specified by:
      setSendToBackupServer in interface IPushPublishHTTPCupertino
    • getPlaylistProperties

      public WMSProperties getPlaylistProperties()
      Specified by:
      getPlaylistProperties in interface IPushPublishHTTPGroupMember
      Overrides:
      getPlaylistProperties in class PushPublishHTTPCupertino
    • updateGroupMasterPlaylistPlaybackURI

      public boolean updateGroupMasterPlaylistPlaybackURI(String groupName, PlaylistModel masterPlaylist)
      Description copied from interface: IPushPublishHTTPCupertino
      Get the group master playlist URI for the given group master playlist file that a player would use to consume the content from the CDN Example: "http://myHost.com/myPath/myGroup/playlist.m3u8"
      Specified by:
      updateGroupMasterPlaylistPlaybackURI in interface IPushPublishHTTPCupertino
      Parameters:
      groupName - group name
      masterPlaylist - master group playlist
      Returns:
      true if the uri was updated
    • updateMasterPlaylistPlaybackURI

      public boolean updateMasterPlaylistPlaybackURI(PlaylistModel playlist)
      Description copied from interface: IPushPublishHTTPCupertino
      update the master playlist URI for the provided playlist model that a player would use to consume the content from the CDN Example: "http://myHost.com/myPath/myStream/playlist.m3u8" where "playlist.m3u8" is the value given for masterPlaylistFilename
      Specified by:
      updateMasterPlaylistPlaybackURI in interface IPushPublishHTTPCupertino
      Parameters:
      playlist - the master playlist model to update the URI in
      Returns:
      true if the URI was updated
    • updateMediaPlaylistPlaybackURI

      public boolean updateMediaPlaylistPlaybackURI(PlaylistModel playlist)
      Description copied from interface: IPushPublishHTTPCupertino
      update/set the media playlist (chunklist) URI for the provided media playlist file that a player would use to consume the content from the CDN Example: "http://myHost.com/myPath/myStream/chunklist.m3u8" where "chunklist.m3u8" is the value given for mediaPlaylistFilename
      Specified by:
      updateMediaPlaylistPlaybackURI in interface IPushPublishHTTPCupertino
      Parameters:
      playlist - to update the uri in
      Returns:
      true if the playlist uri was updated
    • updateMediaSegmentPlaybackURI

      public boolean updateMediaSegmentPlaybackURI(MediaSegmentModel mediaSegment)
      Description copied from interface: IPushPublishHTTPCupertino
      set the media URI for the given media (chunk) file that a player would use to consume the content from the CDN Example: "http://myHost.com/myPath/myStream/media_1.ts" where "media_1.ts" is the value given for mediaFilename
      Specified by:
      updateMediaSegmentPlaybackURI in interface IPushPublishHTTPCupertino
      Parameters:
      mediaSegment - to update the uri of
      Returns:
      true if the uri was updated
    • sendGroupMasterPlaylist

      public int sendGroupMasterPlaylist(String groupName, PlaylistModel playlist)
      Description copied from interface: IPushPublishHTTPCupertino
      Sends a group master playlist to the destination.
      Specified by:
      sendGroupMasterPlaylist in interface IPushPublishHTTPCupertino
      Parameters:
      groupName - the group name
      playlist - the group master playlist model
      Returns:
      number of bytes sent to output
    • sendMasterPlaylist

      public int sendMasterPlaylist(PlaylistModel playlist)
      Description copied from interface: IPushPublishHTTPCupertino
      Sends the master playlist to the destination.
      Specified by:
      sendMasterPlaylist in interface IPushPublishHTTPCupertino
      Parameters:
      playlist - the master playlist model
      Returns:
      number of bytes sent to output (less than zero implies the implementation does not support, 0 is a failure, > 0 is success)
    • sendMediaPlaylist

      public int sendMediaPlaylist(PlaylistModel playlist)
      Description copied from interface: IPushPublishHTTPCupertino
      Sends the media playlist to the destination.
      Specified by:
      sendMediaPlaylist in interface IPushPublishHTTPCupertino
      Parameters:
      playlist - the media playlist model
      Returns:
      number of bytes sent to output (less than zero implies the implementation does not support, 0 is a failure, > 0 is success)
    • sendMediaSegment

      public int sendMediaSegment(MediaSegmentModel mediaSegment)
      Description copied from interface: IPushPublishHTTPCupertino
      Sends the media (chunk) to the destination; media provided as a fragment list.
      Specified by:
      sendMediaSegment in interface IPushPublishHTTPCupertino
      Parameters:
      mediaSegment - the media file in fragment list form
      Returns:
      number of bytes sent to output (less than zero implies the implementation does not support, 0 is a failure, > 0 is success)
    • deleteMediaSegment

      public int deleteMediaSegment(MediaSegmentModel mediaSegment)
      Description copied from interface: IPushPublishHTTPCupertino
      Deletes the media (chunk) at the destination URI. Default implementation assumes the URI uses the HTTP schema and deletes the media using the WSE HTTPByteWriter. Implementations not using the HTTP schema or not wanting to use the default HTTPByteWriter should override the default method.
      Specified by:
      deleteMediaSegment in interface IPushPublishHTTPCupertino
      Parameters:
      mediaSegment - the media destination URI
      Returns:
      number of bytes sent if successful (less than zero implies the implementation does not support, 0 is a failure, > 0 is success)
    • getDestionationLogData

      public String getDestionationLogData()
      Description copied from class: PushPublishHTTPCupertino
      Get a JSON formatted string of data that represents the destination to include with the connect/disconnect logging
      Specified by:
      getDestionationLogData in interface IPushPublishHTTPCupertino
      Specified by:
      getDestionationLogData in class PushPublishHTTPCupertino
      Returns:
      JSON formatted string representation
    • getAkamaiEventName

      public String getAkamaiEventName()
      Specified by:
      getAkamaiEventName in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • setAkamaiEventName

      public void setAkamaiEventName(String akamaiEventName)
      Specified by:
      setAkamaiEventName in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • getAkamaiStreamId

      public String getAkamaiStreamId()
      Specified by:
      getAkamaiStreamId in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • setAkamaiStreamId

      public void setAkamaiStreamId(String akamaiStreamId)
      Specified by:
      setAkamaiStreamId in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • getAkamaiHostId

      public String getAkamaiHostId()
      Specified by:
      getAkamaiHostId in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • setAkamaiHostId

      public void setAkamaiHostId(String akamaiHostId)
      Specified by:
      setAkamaiHostId in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • isAkamaiIngestAcceleration

      public boolean isAkamaiIngestAcceleration()
      Specified by:
      isAkamaiIngestAcceleration in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • setAkamaiIngestAcceleration

      public void setAkamaiIngestAcceleration(boolean akamaiIngestAcceleration)
      Specified by:
      setAkamaiIngestAcceleration in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • getUserAgent

      public String getUserAgent()
      Specified by:
      getUserAgent in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • setUserAgent

      public void setUserAgent(String userAgent)
      Specified by:
      setUserAgent in interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
    • createByteWriter

      public HTTPByteWriter createByteWriter(URI uri, int port)
    • destroyByteWriter

      public boolean destroyByteWriter()