Class PushPublishHTTPCupertinoCloudStorageHandler
- Object
- 
- com.wowza.wms.pushpublish.model.PushPublishBase
- 
- com.wowza.wms.pushpublish.model.PushPublishHTTPBase
- 
- com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
- 
- com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoCloudStorageHandler
 
 
 
 
- 
- All Implemented Interfaces:
- IPushPublish,- IPushPublishHTTPGroupMember,- IPushPublishHTTPOutputBuilder,- IPushPublishHTTPCupertino
 - Direct Known Subclasses:
- PushPublishHTTPCupertinoCloudStorageHandler2
 
 public class PushPublishHTTPCupertinoCloudStorageHandler extends PushPublishHTTPCupertino 
- 
- 
Field SummaryFields Modifier and Type Field Description protected booleanbackupprotected booleancloudStorageCleanBucketprotected com.wowza.wms.pushpublish.cloudstorage.IPushPublishCloudStorageControllercloudStorageControllerprotected WMSPropertiescloudStorageControllerPropsprotected StringcloudStorageProviderNameprotected BooleancloudStorageTransportDebugprotected longplaylistDurationThe playlist duration from the map entry.protected booleanuseRandomSession- 
Fields inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoaddEndListOnDisconnect, chunkDurationTarget, CHUNKLISTNAME_AUDIOONLY, CHUNKLISTNAME_AUDIOVIDEO, CHUNKLISTNAME_KEYFRAMEONLY, CHUNKLISTNAME_VIDEOONLY, CHUNKLISTNAMES, keepMediaSegmentDataAfterSending, liveStreamPacketizerCupertino, PLAYLISTNAME, pusher, RENDITION_AUDIOONLY, RENDITION_AUDIOVIDEO, RENDITION_KEYFRAMEONLY, RENDITION_VIDEOONLY, RENDITIONINDEX_AUDIOONLY, RENDITIONINDEX_AUDIOVIDEO, RENDITIONINDEX_COUNT, RENDITIONINDEX_KEYFRAMEONLY, RENDITIONINDEX_VIDEOONLY
 - 
Fields inherited from class com.wowza.wms.pushpublish.model.PushPublishHTTPBaseCACHE_CONTROL_FACTOR, CACHE_CONTROL_HEADER, CACHE_CONTROL_HEADER_KEY, CACHE_CONTROL_HEADER_NONE, CACHE_CONTROL_MEDIA_DEFAULT, httpLogManifests, httpManifestDebug, INDETERMINATE_PLAYLIST_COUNT, maxSegmentCountFromMap, maxSegmentCountFromPacketizer, MIN_PLAYLIST_COUNT, playlistAcrossSessions, playlistBaseUrl, playlistCountFromMap, playlistCountFromPacketizer, playlistCrossName, playlistDurationFromMap, playlistMap, playlistName, playlistTimeout, relativePlaylists
 - 
Fields inherited from class com.wowza.wms.pushpublish.model.PushPublishBaseappInstance, className, DESTINATION_BAK, DESTINATION_PRI, DESTINATION_RED, destinationName, destinationServer, dstStreamName, entryName, hostname, inetAddr, isAdaptiveStreaming, isExternalRedundancy, logger, mImplementation, myMap, password, playbackHostname, port, profile, properties, pushPublishSession, pushPublishStreamDebug, pushPublishType, reconnectWaitTime, sendingPerformance, srcStream, srcStreamName, totalIOPerformance2Last, totalIOPerformanceLast, userName
 - 
Fields inherited from interface com.wowza.wms.pushpublish.model.IPushPublishCONNECTED_STATE_CONNECTED, CONNECTED_STATE_CONNECTING, CONNECTED_STATE_NOT_CONNECTED, CONNECTED_STATE_WAITING, PUSHPUBLISH_TYPE_CUPERTINO, PUSHPUBLISH_TYPE_MPEGDASH, PUSHPUBLISH_TYPE_NOTIFY_PACKET, PUSHPUBLISH_TYPE_RTMP, PUSHPUBLISH_TYPE_RTP, PUSHPUBLISH_TYPE_RTP_BUFFERED, PUSHPUBLISH_TYPE_SANJOSE, PUSHPUBLISH_TYPE_SRT, PUSHPUBLISH_TYPE_UNKNOWN
 - 
Fields inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuilderPUSHER_ERROR_LIVEPACKETIZER_NOT_CONFIGURED, PUSHER_ERROR_RENDITIONS_MISCONFIGURED
 
- 
 - 
Constructor SummaryConstructors Constructor Description PushPublishHTTPCupertinoCloudStorageHandler()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconnect()intdeleteMediaSegment(MediaSegmentModel mediaSegment)Deletes the media (chunk) at the destination URI.protected StringgetDestinationStreamName()protected StringgetDestinationStreamPath(MediaSegmentModel mediaSegment)protected StringgetDestinationStreamPath(PlaylistModel playlist)StringgetDestionationLogData()Get a JSON formatted string of data that represents the destination to include with the connect/disconnect loggingprotected java.net.URIgetMasterPlaylistURI(String streamOrGroupName)protected StringgetMediaPlaylistPlayBackPath()voidinit(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)Inits the instance.booleanisSendToBackupServer()Is this implementation sending to a backup servervoidload(java.util.HashMap<String,String> dataMap)Loads map and profile parametersbooleanoutputClose()Close the destination (if needed).booleanoutputOpen()Open the destination (if needed) in preparation of having one or more items (playlists/media segments) pushed to itintsendGroupMasterPlaylist(String groupName, PlaylistModel playlist)Sends a group master playlist to the destination.intsendMasterPlaylist(PlaylistModel playlist)Sends the master playlist to the destination.intsendMediaPlaylist(PlaylistModel playlist)Sends the media playlist to the destination.intsendMediaSegment(MediaSegmentModel mediaSegment)Sends the media (chunk) to the destination; media provided as a fragment list.protected intsendPlaylist(String parentMethod, java.net.URI uri, PlaylistModel playlist)voidsetChunkDurationTarget()voidsetSendToBackupServer(boolean backup)Setup to send to a backup destinationbooleanupdateGroupMasterPlaylistPlaybackURI(String groupName, PlaylistModel masterPlaylist)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"booleanupdateMasterPlaylistPlaybackURI(PlaylistModel playlist)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 masterPlaylistFilenamebooleanupdateMediaPlaylistPlaybackURI(PlaylistModel playlist)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 mediaPlaylistFilenamebooleanupdateMediaSegmentPlaybackURI(MediaSegmentModel mediaSegment)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- 
Methods inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoadaptiveGroupPlaylistNeedsUpdating, addTagToPlaylist, addTagToPlaylist, createGroupPlaylist, createMasterPlaylist, createMediaPlaylist, createMediaSegmentModel, createOutputItem, createTag, disconnect, disconnect, error, getChunkDurationTarget, getConnectedState, getContextStr, getGroupPlaylistRenditionDescription, getLastChunkId, getLiveStreamPacketizerName, getMediaPlaylistPlaybackURL, getMessagesAttemptedCount, getMessagesFailedCount, getMessagesRetriedCount, getPacketizerLock, getPlaylistCount, getPlaylistProperties, getRandomSessionStr, getRenditionsStr, isGroupReady, isInRedundancyPair, outputSend, printPlaylist, resetConnection, resetNewPacketizer, sendGroupPlaylist, setLiveStreamPacketizer, setRenditionsStr, writeTagToString
 - 
Methods inherited from class com.wowza.wms.pushpublish.model.PushPublishHTTPBasegetAdaptiveGroupName, getMaxSegmentCount, getPlaylistBaseUrl, getPlaylistMap, getPlaylistTimeout, isInAdaptiveGroup, isLogDebugManifest, isPlaylistAcrossSessions, isRelativePlaylists, logDebugManifest, setAdaptiveGroupName, setMaxSegmentCountFromMap, setMaxSegmentCountFromPacketizer, setPlaylistAcrossSessions, setPlaylistBaseUrl, setPlaylistCountFromMap, setPlaylistCountFromPacketizer, setPlaylistTimeout, setRelativePlaylists
 - 
Methods inherited from class com.wowza.wms.pushpublish.model.PushPublishBaseadd, addIOPerformance2, clearLoggingValues, createPushPublishSession, getAppInstance, getBandwidth, getBaseParams, getDestinationID, getDestinationName, getDestinationServer, getDstStreamName, getEntryName, getHostname, getImplementation, getInetAddr, getMap, getMessagesOutBytes, getMessagesOutCount, getPassword, getPlaybackHostname, getPort, getProfile, getProperties, getPushPublishType, getReconnectWaitTime, getSrcStream, getSrcStreamName, getUserName, getWowzaStreamingEngineVersionStr, incrementMessagesOut, isAdaptiveStreaming, isDebugLog, isExternalRedundancy, logDebug, logError, logError, logError, logInfo, logWarn, resolveHostName, setAdaptiveStreaming, setAdaptiveStreaming, setAppInstance, setDebugLog, setDestinationName, setDestinationServer, setDestinationServer, setDstStreamName, setEntryName, setExternalRedundancy, setExternalRedundancy, setHost, setHostname, setImplementation, setInetAddr, setPassword, setPlaybackHostname, setPort, setPort, setProfile, setReconnectWaitTime, setSrcStream, setSrcStreamName, setStreamName, setUserName, updateLoggingValues, updateUsageTracker
 - 
Methods inherited from class java.lang.Objectclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPGroupMembergetAdaptiveGroupName, isInAdaptiveGroup, isLogDebugManifest
 - 
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuildergetAppInstance, getDstStreamName, getSrcStreamName, isDebugLog
 
- 
 
- 
- 
- 
Field Detail- 
cloudStorageTransportDebugprotected Boolean cloudStorageTransportDebug 
 - 
cloudStorageProviderNameprotected String cloudStorageProviderName 
 - 
cloudStorageControllerprotected com.wowza.wms.pushpublish.cloudstorage.IPushPublishCloudStorageController cloudStorageController 
 - 
cloudStorageControllerPropsprotected WMSProperties cloudStorageControllerProps 
 - 
cloudStorageCleanBucketprotected boolean cloudStorageCleanBucket 
 - 
playlistDurationprotected long playlistDuration The playlist duration from the map entry. This value is in seconds. http.playlistDuration REMOVE when migrated to WSE
 - 
backupprotected boolean backup 
 - 
useRandomSessionprotected boolean useRandomSession 
 
- 
 - 
Method Detail- 
initpublic 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:PushPublishHTTPBaseInits the instance.- Specified by:
- initin interface- IPushPublish
- Overrides:
- initin 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
 
 - 
connectpublic void connect() - Specified by:
- connectin interface- IPushPublish
- Overrides:
- connectin class- PushPublishHTTPCupertino
 
 - 
loadpublic void load(java.util.HashMap<String,String> dataMap) Description copied from class:PushPublishHTTPBaseLoads map and profile parameters- Overrides:
- loadin class- PushPublishHTTPCupertino
- Parameters:
- dataMap- the data map
 
 - 
updateGroupMasterPlaylistPlaybackURIpublic boolean updateGroupMasterPlaylistPlaybackURI(String groupName, PlaylistModel masterPlaylist)Description copied from interface:IPushPublishHTTPCupertinoGet 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
 
 - 
updateMasterPlaylistPlaybackURIpublic boolean updateMasterPlaylistPlaybackURI(PlaylistModel playlist) Description copied from interface:IPushPublishHTTPCupertinoupdate 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
 
 - 
updateMediaPlaylistPlaybackURIpublic boolean updateMediaPlaylistPlaybackURI(PlaylistModel playlist) Description copied from interface:IPushPublishHTTPCupertinoupdate/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
 
 - 
updateMediaSegmentPlaybackURIpublic boolean updateMediaSegmentPlaybackURI(MediaSegmentModel mediaSegment) Description copied from interface:IPushPublishHTTPCupertinoset 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
 
 - 
sendGroupMasterPlaylistpublic int sendGroupMasterPlaylist(String groupName, PlaylistModel playlist)Description copied from interface:IPushPublishHTTPCupertinoSends 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
 
 - 
sendMasterPlaylistpublic int sendMasterPlaylist(PlaylistModel playlist) Description copied from interface:IPushPublishHTTPCupertinoSends 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)
 
 - 
sendMediaPlaylistpublic int sendMediaPlaylist(PlaylistModel playlist) Description copied from interface:IPushPublishHTTPCupertinoSends 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)
 
 - 
sendMediaSegmentpublic int sendMediaSegment(MediaSegmentModel mediaSegment) Description copied from interface:IPushPublishHTTPCupertinoSends 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)
 
 - 
deleteMediaSegmentpublic int deleteMediaSegment(MediaSegmentModel mediaSegment) Description copied from interface:IPushPublishHTTPCupertinoDeletes 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)
 
 - 
outputOpenpublic boolean outputOpen() Description copied from interface:IPushPublishHTTPCupertinoOpen 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
 
 - 
outputClosepublic boolean outputClose() Description copied from interface:IPushPublishHTTPCupertinoClose 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
 
 - 
setSendToBackupServerpublic void setSendToBackupServer(boolean backup) Description copied from interface:IPushPublishHTTPCupertinoSetup to send to a backup destination
 - 
isSendToBackupServerpublic boolean isSendToBackupServer() Description copied from interface:IPushPublishHTTPCupertinoIs this implementation sending to a backup server- Returns:
- true if sending to a backup server
 
 - 
getDestionationLogDatapublic String getDestionationLogData() Description copied from class:PushPublishHTTPCupertinoGet a JSON formatted string of data that represents the destination to include with the connect/disconnect logging- Specified by:
- getDestionationLogDatain interface- IPushPublishHTTPCupertino
- Specified by:
- getDestionationLogDatain class- PushPublishHTTPCupertino
- Returns:
- JSON formatted string representation
 
 - 
getMasterPlaylistURIprotected java.net.URI getMasterPlaylistURI(String streamOrGroupName) throws java.net.URISyntaxException- Throws:
- java.net.URISyntaxException
 
 - 
getMediaPlaylistPlayBackPathprotected String getMediaPlaylistPlayBackPath() 
 - 
getDestinationStreamNameprotected String getDestinationStreamName() 
 - 
getDestinationStreamPathprotected String getDestinationStreamPath(MediaSegmentModel mediaSegment) 
 - 
getDestinationStreamPathprotected String getDestinationStreamPath(PlaylistModel playlist) 
 - 
sendPlaylistprotected int sendPlaylist(String parentMethod, java.net.URI uri, PlaylistModel playlist)
 - 
setChunkDurationTargetpublic void setChunkDurationTarget() 
 
- 
 
-