Class PushPublishHTTPCupertinoCloudStorageHandler2
- 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
-
- com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoCloudStorageHandler2
-
- All Implemented Interfaces:
IPushPublish
,IPushPublishHTTPGroupMember
,IPushPublishHTTPOutputBuilder
,IPushPublishHTTPCupertino
- Direct Known Subclasses:
PushPublishHTTPCupertinoWowzaVideoHandler
public class PushPublishHTTPCupertinoCloudStorageHandler2 extends PushPublishHTTPCupertinoCloudStorageHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
PushPublishHTTPCupertinoCloudStorageHandler2.CreateVODChunklistThread
class
PushPublishHTTPCupertinoCloudStorageHandler2.deleteMediaSegmentsThread
class
PushPublishHTTPCupertinoCloudStorageHandler2.deleteMediaSegmentThread
class
PushPublishHTTPCupertinoCloudStorageHandler2.sendVODChunklistThread
class
PushPublishHTTPCupertinoCloudStorageHandler2.TouchPlaylistTimer
-
Field Summary
Fields Modifier and Type Field Description static String
AES128_KEY
static String
AES128_KEY_FILE_NAME
static String
ENABLE_VOD_PROP
static String
MODULE_NAME
static String
MODULE_VERSION
static java.util.HashMap<String,Boolean>
streamDisconnecting
static String
UPTIME_ID_PROP
static String
VOD_PLAYLIST_COUNT
-
Fields inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoCloudStorageHandler
backup, cloudStorageCleanBucket, cloudStorageController, cloudStorageControllerProps, cloudStorageProviderName, cloudStorageTransportDebug, playlistDuration, useRandomSession
-
Fields inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
addEndListOnDisconnect, 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.PushPublishHTTPBase
CACHE_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.PushPublishBase
appInstance, 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.IPushPublish
CONNECTED_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.IPushPublishHTTPOutputBuilder
PUSHER_ERROR_LIVEPACKETIZER_NOT_CONFIGURED, PUSHER_ERROR_RENDITIONS_MISCONFIGURED
-
-
Constructor Summary
Constructors Constructor Description PushPublishHTTPCupertinoCloudStorageHandler2()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
connect()
int
deleteMediaSegment(MediaSegmentModel mediaSegment)
Deletes the media (chunk) at the destination URI.void
disconnect(boolean hard)
protected String
getDestinationStreamName()
protected String
getDestinationStreamPath(MediaSegmentModel mediaSegment)
String
getRandomSessionStr()
Gets a random session string that lives for the life time of the currently published stream.static byte[]
hex2Bin(String str)
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)
Inits the instance.void
load(java.util.HashMap<String,String> dataMap)
Loads map and profile parametersint
sendGroupMasterPlaylist(String groupName, PlaylistModel playlist)
Sends a group master playlist to the destination.int
sendMediaPlaylist(PlaylistModel playlist)
Sends the media playlist to the destination.int
superDeleteMediaSegment(MediaSegmentModel mediaSegment)
int
superSendPlaylist(String parentMethod, java.net.URI uri, PlaylistModel playlist)
-
Methods inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoCloudStorageHandler
getDestinationStreamPath, getDestionationLogData, getMasterPlaylistURI, getMediaPlaylistPlayBackPath, isSendToBackupServer, outputClose, outputOpen, sendMasterPlaylist, sendMediaSegment, sendPlaylist, setChunkDurationTarget, setSendToBackupServer, updateGroupMasterPlaylistPlaybackURI, updateMasterPlaylistPlaybackURI, updateMediaPlaylistPlaybackURI, updateMediaSegmentPlaybackURI
-
Methods inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
adaptiveGroupPlaylistNeedsUpdating, addTagToPlaylist, addTagToPlaylist, createGroupPlaylist, createMasterPlaylist, createMediaPlaylist, createMediaSegmentModel, createOutputItem, createTag, disconnect, error, getChunkDurationTarget, getConnectedState, getContextStr, getGroupPlaylistRenditionDescription, getLastChunkId, getLiveStreamPacketizerName, getMediaPlaylistPlaybackURL, getMessagesAttemptedCount, getMessagesFailedCount, getMessagesRetriedCount, getPacketizerLock, getPlaylistCount, getPlaylistProperties, getRenditionsStr, isGroupReady, isInRedundancyPair, outputSend, printPlaylist, resetConnection, resetNewPacketizer, sendGroupPlaylist, setLiveStreamPacketizer, setRenditionsStr, writeTagToString
-
Methods inherited from class com.wowza.wms.pushpublish.model.PushPublishHTTPBase
getAdaptiveGroupName, 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.PushPublishBase
add, 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.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPGroupMember
getAdaptiveGroupName, isInAdaptiveGroup, isLogDebugManifest
-
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuilder
getAppInstance, getDstStreamName, getSrcStreamName, isDebugLog
-
-
-
-
Field Detail
-
MODULE_VERSION
public static String MODULE_VERSION
-
MODULE_NAME
public static String MODULE_NAME
-
UPTIME_ID_PROP
public static String UPTIME_ID_PROP
-
ENABLE_VOD_PROP
public static String ENABLE_VOD_PROP
-
VOD_PLAYLIST_COUNT
public static String VOD_PLAYLIST_COUNT
-
AES128_KEY
public static String AES128_KEY
-
AES128_KEY_FILE_NAME
public static String AES128_KEY_FILE_NAME
-
streamDisconnecting
public static java.util.HashMap<String,Boolean> streamDisconnecting
-
-
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 interfaceIPushPublish
- Overrides:
init
in classPushPublishHTTPCupertinoCloudStorageHandler
- Parameters:
appInstance
- the app instancestreamName
- the source stream nameprofileData
- the profile paramsmaps
- the map entry paramsstreamDebug
- 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 classPushPublishHTTPCupertinoCloudStorageHandler
- Parameters:
dataMap
- the data map
-
getDestinationStreamName
protected String getDestinationStreamName()
- Overrides:
getDestinationStreamName
in classPushPublishHTTPCupertinoCloudStorageHandler
-
superSendPlaylist
public int superSendPlaylist(String parentMethod, java.net.URI uri, PlaylistModel playlist)
-
superDeleteMediaSegment
public int superDeleteMediaSegment(MediaSegmentModel mediaSegment)
-
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 interfaceIPushPublishHTTPCupertino
- Overrides:
deleteMediaSegment
in classPushPublishHTTPCupertinoCloudStorageHandler
- 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)
-
hex2Bin
public static byte[] hex2Bin(String str)
-
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 interfaceIPushPublishHTTPCupertino
- Overrides:
sendGroupMasterPlaylist
in classPushPublishHTTPCupertinoCloudStorageHandler
- Parameters:
groupName
- the group nameplaylist
- the group master playlist model- Returns:
- number of bytes sent to output
-
sendMediaPlaylist
public int sendMediaPlaylist(PlaylistModel playlist)
Description copied from interface:IPushPublishHTTPCupertino
Sends the media playlist to the destination.- Specified by:
sendMediaPlaylist
in interfaceIPushPublishHTTPCupertino
- Overrides:
sendMediaPlaylist
in classPushPublishHTTPCupertinoCloudStorageHandler
- 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)
-
getDestinationStreamPath
protected String getDestinationStreamPath(MediaSegmentModel mediaSegment)
- Overrides:
getDestinationStreamPath
in classPushPublishHTTPCupertinoCloudStorageHandler
-
getRandomSessionStr
public String getRandomSessionStr()
Description copied from class:PushPublishHTTPCupertino
Gets a random session string that lives for the life time of the currently published stream. If the stream times out or drops for one reason or another, this will return a new session string.- Overrides:
getRandomSessionStr
in classPushPublishHTTPCupertino
- Returns:
- String contianing a unique string to the incoming stream
-
connect
public void connect()
- Specified by:
connect
in interfaceIPushPublish
- Overrides:
connect
in classPushPublishHTTPCupertinoCloudStorageHandler
-
disconnect
public void disconnect(boolean hard)
- Specified by:
disconnect
in interfaceIPushPublish
- Overrides:
disconnect
in classPushPublishHTTPCupertino
-
-