Class PushPublishHTTPCupertino
- Object
- 
- com.wowza.wms.pushpublish.model.PushPublishBase
- 
- com.wowza.wms.pushpublish.model.PushPublishHTTPBase
- 
- com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
 
 
 
- 
- All Implemented Interfaces:
- IPushPublish,- IPushPublishHTTPGroupMember,- IPushPublishHTTPOutputBuilder,- IPushPublishHTTPCupertino
 - Direct Known Subclasses:
- PushPublishHTTPCupertinoAkamaiHandler,- PushPublishHTTPCupertinoCloudStorageHandler,- PushPublishHTTPCupertinoGoogleHandler
 
 public abstract class PushPublishHTTPCupertino extends PushPublishHTTPBase implements IPushPublishHTTPCupertino, IPushPublishHTTPGroupMember, IPushPublishHTTPOutputBuilder 
- 
- 
Field SummaryFields Modifier and Type Field Description protected booleanaddEndListOnDisconnectprotected intchunkDurationTargetstatic StringCHUNKLISTNAME_AUDIOONLYstatic StringCHUNKLISTNAME_AUDIOVIDEOstatic StringCHUNKLISTNAME_KEYFRAMEONLYstatic StringCHUNKLISTNAME_VIDEOONLYstatic String[]CHUNKLISTNAMESprotected booleankeepMediaSegmentDataAfterSendingprotected LiveStreamPacketizerCupertinoliveStreamPacketizerCupertinostatic StringPLAYLISTNAMEprotected PushPublishHTTPPusherpusherstatic intRENDITION_AUDIOONLYstatic intRENDITION_AUDIOVIDEOstatic intRENDITION_KEYFRAMEONLYstatic intRENDITION_VIDEOONLYstatic intRENDITIONINDEX_AUDIOONLYstatic intRENDITIONINDEX_AUDIOVIDEOstatic intRENDITIONINDEX_COUNTstatic intRENDITIONINDEX_KEYFRAMEONLYstatic intRENDITIONINDEX_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 PushPublishHTTPCupertino()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description BooleanadaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups)protected voidaddTagToPlaylist(PlaylistModel playlist, int idx, TagModel tag)Adds the provided TagModel to the list of TagModels at the idx for the provided Playlist Modelprotected voidaddTagToPlaylist(PlaylistModel playlist, TagModel tag)Adds the provided TagModel to the end of the list of TagModels for the provided Playlist Modelvoidconnect()ManifestModelcreateGroupPlaylist(String id, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups, IApplicationInstance appInstance, String context, WMSProperties properties)Creates a group playlist.protected PlaylistModelcreateMasterPlaylist()Creates a master playlist and propagates the context string from this implemenation to the returned playlist modelprotected PlaylistModelcreateMediaPlaylist(int renditionIdx)Creates a empty media playlist and propagates the context from this implemenation to the returned playlistprotected MediaSegmentModelcreateMediaSegmentModel()Creates an empty media segment model and propagates the context from the implementation to the returnd media segment modelPushPublishHTTPOutputItemcreateOutputItem(ILiveStreamPacketizer liveStreamPacketizer, int lastChunkIndex)protected TagModelcreateTag(Class<? extends TagModel> clazz)Create a TagModel of the provided TagModelvoiddisconnect()voiddisconnect(boolean hard)voiderror(int errorCode)intgetChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer)intgetConnectedState()StringgetContextStr()abstract StringgetDestionationLogData()Get a JSON formatted string of data that represents the destination to include with the connect/disconnect loggingStringgetGroupPlaylistRenditionDescription(boolean forABRPlaylist)Generates a description or playlist-element String which can be used to differentiate this rendition from other renditions in a group.intgetLastChunkId(ILiveStreamPacketizer liveStreamPacketizer)StringgetLiveStreamPacketizerName()StringgetMediaPlaylistPlaybackURL(int rendition)longgetMessagesAttemptedCount()longgetMessagesFailedCount()longgetMessagesRetriedCount()ObjectgetPacketizerLock(ILiveStreamPacketizer liveStreamPacketizer)intgetPlaylistCount()Get the playlist count.WMSPropertiesgetPlaylistProperties()StringgetRandomSessionStr()Gets a random session string that lives for the life time of the currently published stream.StringgetRenditionsStr()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.BooleanisGroupReady(java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups)booleanisInRedundancyPair()voidload(java.util.HashMap<String,String> dataMap)Loads map and profile parametersvoidoutputSend(PushPublishHTTPOutputItem outputItem)StringprintPlaylist(PlaylistModel playlist)Will print the provided playlist to a String.voidresetConnection()voidresetNewPacketizer(ILiveStreamPacketizer liveStreamPacketizer)voidsendGroupPlaylist(String groupName, ManifestModel manifest)Sends a group playlist to the destination.protected voidsetLiveStreamPacketizer(ILiveStreamPacketizer liveStreamPacketizer)voidsetRenditionsStr(String renditionsStr)protected StringwriteTagToString(TagModel tag)Writes the tag contents out to a string in UTF-8 encoding to a String- 
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.protocol.cupertino.IPushPublishHTTPCupertinodeleteMediaSegment, isSendToBackupServer, outputClose, outputOpen, sendGroupMasterPlaylist, sendMasterPlaylist, sendMediaPlaylist, sendMediaSegment, setSendToBackupServer, updateGroupMasterPlaylistPlaybackURI, updateMasterPlaylistPlaybackURI, updateMediaPlaylistPlaybackURI, updateMediaSegmentPlaybackURI
 - 
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPGroupMembergetAdaptiveGroupName, isInAdaptiveGroup, isLogDebugManifest, isSendToBackupServer
 - 
Methods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuildergetAppInstance, getDstStreamName, getSrcStreamName, isDebugLog, outputClose, outputOpen
 
- 
 
- 
- 
- 
Field Detail- 
PLAYLISTNAMEpublic static final String PLAYLISTNAME - See Also:
- Constant Field Values
 
 - 
liveStreamPacketizerCupertinoprotected LiveStreamPacketizerCupertino liveStreamPacketizerCupertino 
 - 
CHUNKLISTNAME_AUDIOVIDEOpublic static final String CHUNKLISTNAME_AUDIOVIDEO - See Also:
- Constant Field Values
 
 - 
CHUNKLISTNAME_AUDIOONLYpublic static final String CHUNKLISTNAME_AUDIOONLY - See Also:
- Constant Field Values
 
 - 
CHUNKLISTNAME_VIDEOONLYpublic static final String CHUNKLISTNAME_VIDEOONLY - See Also:
- Constant Field Values
 
 - 
CHUNKLISTNAME_KEYFRAMEONLYpublic static final String CHUNKLISTNAME_KEYFRAMEONLY - See Also:
- Constant Field Values
 
 - 
CHUNKLISTNAMESpublic static final String[] CHUNKLISTNAMES 
 - 
RENDITIONINDEX_AUDIOVIDEOpublic static final int RENDITIONINDEX_AUDIOVIDEO - See Also:
- Constant Field Values
 
 - 
RENDITIONINDEX_AUDIOONLYpublic static final int RENDITIONINDEX_AUDIOONLY - See Also:
- Constant Field Values
 
 - 
RENDITIONINDEX_VIDEOONLYpublic static final int RENDITIONINDEX_VIDEOONLY - See Also:
- Constant Field Values
 
 - 
RENDITIONINDEX_KEYFRAMEONLYpublic static final int RENDITIONINDEX_KEYFRAMEONLY - See Also:
- Constant Field Values
 
 - 
RENDITIONINDEX_COUNTpublic static final int RENDITIONINDEX_COUNT - See Also:
- Constant Field Values
 
 - 
RENDITION_AUDIOVIDEOpublic static final int RENDITION_AUDIOVIDEO - See Also:
- Constant Field Values
 
 - 
RENDITION_AUDIOONLYpublic static final int RENDITION_AUDIOONLY - See Also:
- Constant Field Values
 
 - 
RENDITION_VIDEOONLYpublic static final int RENDITION_VIDEOONLY - See Also:
- Constant Field Values
 
 - 
RENDITION_KEYFRAMEONLYpublic static final int RENDITION_KEYFRAMEONLY - See Also:
- Constant Field Values
 
 - 
chunkDurationTargetprotected int chunkDurationTarget 
 - 
addEndListOnDisconnectprotected boolean addEndListOnDisconnect 
 - 
keepMediaSegmentDataAfterSendingprotected boolean keepMediaSegmentDataAfterSending 
 - 
pusherprotected PushPublishHTTPPusher pusher 
 
- 
 - 
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- PushPublishHTTPBase
- Parameters:
- appInstance- the app instance
- streamName- the source stream name
- profileData- the profile params
- maps- the map entry params
- streamDebug- stream debug flag
 
 - 
getPlaylistCountpublic int getPlaylistCount() Description copied from class:PushPublishHTTPBaseGet the playlist count. The value from the map file is returned if defined, else the packetizer value is returned return the playlist count- Overrides:
- getPlaylistCountin class- PushPublishHTTPBase
 
 - 
loadpublic void load(java.util.HashMap<String,String> dataMap) Description copied from class:PushPublishHTTPBaseLoads map and profile parameters- Overrides:
- loadin class- PushPublishHTTPBase
- Parameters:
- dataMap- the data map
 
 - 
createOutputItempublic final PushPublishHTTPOutputItem createOutputItem(ILiveStreamPacketizer liveStreamPacketizer, int lastChunkIndex) - Specified by:
- createOutputItemin interface- IPushPublishHTTPOutputBuilder
 
 - 
outputSendpublic final void outputSend(PushPublishHTTPOutputItem outputItem) - Specified by:
- outputSendin interface- IPushPublishHTTPOutputBuilder
 
 - 
getContextStrpublic String getContextStr() - Specified by:
- getContextStrin interface- IPushPublish
- Specified by:
- getContextStrin class- PushPublishBase
 
 - 
resetNewPacketizerpublic void resetNewPacketizer(ILiveStreamPacketizer liveStreamPacketizer) - Specified by:
- resetNewPacketizerin interface- IPushPublishHTTPOutputBuilder
 
 - 
errorpublic void error(int errorCode) - Specified by:
- errorin interface- IPushPublishHTTPOutputBuilder
 
 - 
isInRedundancyPairpublic boolean isInRedundancyPair() - Specified by:
- isInRedundancyPairin interface- IPushPublishHTTPGroupMember
 
 - 
createGroupPlaylistpublic ManifestModel createGroupPlaylist(String id, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups, IApplicationInstance appInstance, String context, WMSProperties properties) Description copied from interface:IPushPublishHTTPGroupMemberCreates a group playlist.- Specified by:
- createGroupPlaylistin interface- IPushPublishHTTPGroupMember
- Parameters:
- id- the id
- groupingsByRedundantPairs- the renditions grouped by redundant pairs
- groupingsByAbrGroups- the renditions grouped by redundant ABR group
- properties- the properties
- Returns:
- the manifest model
 
 - 
sendGroupPlaylistpublic void sendGroupPlaylist(String groupName, ManifestModel manifest)Description copied from interface:IPushPublishHTTPGroupMemberSends a group playlist to the destination.- Specified by:
- sendGroupPlaylistin interface- IPushPublishHTTPGroupMember
- Parameters:
- groupName- the group name
- manifest- the playlist/manifest to send
 
 - 
getGroupPlaylistRenditionDescriptionpublic String getGroupPlaylistRenditionDescription(boolean forABRPlaylist) Description copied from interface:IPushPublishHTTPGroupMemberGenerates a description or playlist-element String which can be used to differentiate this rendition from other renditions in a group. The group playlist could either for a single stream being pushed redundantly to a primary & backup destination, or for an ABR group of streams being pushed to a single destination or being pushed redundantly to multiple destinations.- Specified by:
- getGroupPlaylistRenditionDescriptionin interface- IPushPublishHTTPGroupMember
- Parameters:
- forABRPlaylist- flag to indicate whether the description is for an adaptive bitrate group playlist.
 
 - 
isGroupReadypublic Boolean isGroupReady(java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) - Specified by:
- isGroupReadyin interface- IPushPublishHTTPGroupMember
 
 - 
adaptiveGroupPlaylistNeedsUpdatingpublic Boolean adaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups)- Specified by:
- adaptiveGroupPlaylistNeedsUpdatingin interface- IPushPublishHTTPGroupMember
 
 - 
getPlaylistPropertiespublic WMSProperties getPlaylistProperties() - Specified by:
- getPlaylistPropertiesin interface- IPushPublishHTTPGroupMember
 
 - 
getRenditionsStrpublic String getRenditionsStr() 
 - 
setRenditionsStrpublic void setRenditionsStr(String renditionsStr) 
 - 
getLiveStreamPacketizerNamepublic String getLiveStreamPacketizerName() - Specified by:
- getLiveStreamPacketizerNamein interface- IPushPublishHTTPOutputBuilder
 
 - 
getPacketizerLockpublic Object getPacketizerLock(ILiveStreamPacketizer liveStreamPacketizer) - Specified by:
- getPacketizerLockin interface- IPushPublishHTTPOutputBuilder
 
 - 
getLastChunkIdpublic int getLastChunkId(ILiveStreamPacketizer liveStreamPacketizer) - Specified by:
- getLastChunkIdin interface- IPushPublishHTTPOutputBuilder
 
 - 
getChunkDurationTargetpublic int getChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer) - Specified by:
- getChunkDurationTargetin interface- IPushPublishHTTPOutputBuilder
 
 - 
connectpublic void connect() - Specified by:
- connectin interface- IPushPublish
 
 - 
disconnectpublic void disconnect() 
 - 
disconnectpublic void disconnect(boolean hard) - Specified by:
- disconnectin interface- IPushPublish
 
 - 
getMessagesAttemptedCountpublic long getMessagesAttemptedCount() - Specified by:
- getMessagesAttemptedCountin interface- IPushPublish
 
 - 
getMessagesRetriedCountpublic long getMessagesRetriedCount() - Specified by:
- getMessagesRetriedCountin interface- IPushPublish
 
 - 
getMessagesFailedCountpublic long getMessagesFailedCount() - Specified by:
- getMessagesFailedCountin interface- IPushPublish
 
 - 
resetConnectionpublic void resetConnection() - Specified by:
- resetConnectionin interface- IPushPublish
 
 - 
getConnectedStatepublic int getConnectedState() - Specified by:
- getConnectedStatein interface- IPushPublish
 
 - 
getRandomSessionStrpublic String getRandomSessionStr() 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.- Returns:
- String contianing a unique string to the incoming stream
 
 - 
getDestionationLogDatapublic abstract String getDestionationLogData() Get a JSON formatted string of data that represents the destination to include with the connect/disconnect logging- Specified by:
- getDestionationLogDatain interface- IPushPublishHTTPCupertino
- Returns:
- JSON formatted string representation
 
 - 
printPlaylistpublic String printPlaylist(PlaylistModel playlist) Will print the provided playlist to a String. Intended as a debug tool- Parameters:
- playlist- to print to a String
- Returns:
- String containing the text based representation of the playlist (not UTF-8 encoded)
 
 - 
createTagprotected TagModel createTag(Class<? extends TagModel> clazz) Create a TagModel of the provided TagModel- Parameters:
- clazz- Class of the TagModel to create
- Returns:
- a new instance of the TagModel requested
 
 - 
addTagToPlaylistprotected void addTagToPlaylist(PlaylistModel playlist, TagModel tag) Adds the provided TagModel to the end of the list of TagModels for the provided Playlist Model- Parameters:
- playlist- to add the TagModel to
- tag- to add to the playlist
 
 - 
addTagToPlaylistprotected void addTagToPlaylist(PlaylistModel playlist, int idx, TagModel tag) Adds the provided TagModel to the list of TagModels at the idx for the provided Playlist Model- Parameters:
- playlist- to add the TagModel to
- idx- index where to insert the TagModel at
- tag- Model to insert into the list of TagModels
 
 - 
createMasterPlaylistprotected PlaylistModel createMasterPlaylist() Creates a master playlist and propagates the context string from this implemenation to the returned playlist model- Returns:
- a new master playlist
 
 - 
createMediaPlaylistprotected PlaylistModel createMediaPlaylist(int renditionIdx) Creates a empty media playlist and propagates the context from this implemenation to the returned playlist- Returns:
- a new media playlist
 
 - 
createMediaSegmentModelprotected MediaSegmentModel createMediaSegmentModel() Creates an empty media segment model and propagates the context from the implementation to the returnd media segment model- Returns:
- media segment model
 
 - 
writeTagToStringprotected String writeTagToString(TagModel tag) Writes the tag contents out to a string in UTF-8 encoding to a String- Parameters:
- tag- to be encoded
- Returns:
- String containing the tag contents for use in a playlist
 
 - 
getMediaPlaylistPlaybackURLpublic String getMediaPlaylistPlaybackURL(int rendition) 
 - 
setLiveStreamPacketizerprotected void setLiveStreamPacketizer(ILiveStreamPacketizer liveStreamPacketizer) - Overrides:
- setLiveStreamPacketizerin class- PushPublishHTTPBase
 
 
- 
 
-