Class PushPublishHTTPCupertinoCloudStorageHandler

    • Field Detail

      • cloudStorageTransportDebug

        protected Boolean cloudStorageTransportDebug
      • cloudStorageProviderName

        protected String cloudStorageProviderName
      • cloudStorageController

        protected com.wowza.wms.pushpublish.cloudstorage.IPushPublishCloudStorageController cloudStorageController
      • cloudStorageControllerProps

        protected WMSProperties cloudStorageControllerProps
      • cloudStorageCleanBucket

        protected boolean cloudStorageCleanBucket
      • playlistDuration

        protected long playlistDuration
        The playlist duration from the map entry. This value is in seconds. http.playlistDuration REMOVE when migrated to WSE
      • backup

        protected boolean backup
      • useRandomSession

        protected boolean useRandomSession
    • Constructor Detail

      • PushPublishHTTPCupertinoCloudStorageHandler

        public PushPublishHTTPCupertinoCloudStorageHandler()
                                                    throws com.wowza.wms.server.LicensingException
        Throws:
        com.wowza.wms.server.LicensingException
    • Method Detail

      • init

        public void init​(IApplicationInstance appInstance,
                         String streamName,
                         IMediaStream stream,
                         java.util.Map<String,​String> profileData,
                         java.util.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​(java.util.HashMap<String,​String> dataMap)
        Description copied from class: PushPublishHTTPBase
        Loads map and profile parameters
        Overrides:
        load in class PushPublishHTTPCupertino
        Parameters:
        dataMap - the data map
      • 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"
        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
        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
        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
        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.
        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.
        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.
        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.
        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.
        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)
      • 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
        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
        Returns:
        true if the destination was closed
      • setSendToBackupServer

        public void setSendToBackupServer​(boolean backup)
        Description copied from interface: IPushPublishHTTPCupertino
        Setup to send to a backup destination
      • isSendToBackupServer

        public boolean isSendToBackupServer()
        Description copied from interface: IPushPublishHTTPCupertino
        Is this implementation sending to a backup server
        Returns:
        true if sending to a backup server
      • getMasterPlaylistURI

        protected java.net.URI getMasterPlaylistURI​(String streamOrGroupName)
                                             throws java.net.URISyntaxException
        Throws:
        java.net.URISyntaxException
      • getMediaPlaylistPlayBackPath

        protected String getMediaPlaylistPlayBackPath()
      • getSubtitlelistPlaybackPath

        protected String getSubtitlelistPlaybackPath()
      • getDestinationStreamName

        protected String getDestinationStreamName()
      • getDestinationSubtitleDir

        protected String getDestinationSubtitleDir()
      • getDestinationStreamPath

        protected String getDestinationStreamPath​(MediaSegmentModel mediaSegment)
      • getDestinationStreamPath

        protected String getDestinationStreamPath​(PlaylistModel playlist)
      • sendPlaylist

        protected int sendPlaylist​(String parentMethod,
                                   java.net.URI uri,
                                   PlaylistModel playlist)
      • setChunkDurationTarget

        public void setChunkDurationTarget()