Class PushPublishHTTPCupertinoAkamaiHandler
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.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
-
Field Summary
Fields inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
addEndListOnDisconnect, chunkDurationTarget, CHUNKLISTNAME_AUDIOONLY, CHUNKLISTNAME_AUDIOVIDEO, CHUNKLISTNAME_KEYFRAMEONLY, CHUNKLISTNAME_VIDEOONLY, CHUNKLISTNAMES, cupertinoTemplateStringReplacer, keepMediaSegmentDataAfterSending, liveStreamPacketizerCupertino, minNumToDelete, minNumToSend, PLAYLISTNAME, pusher, RENDITION_AUDIOONLY, RENDITION_AUDIOVIDEO, RENDITION_KEYFRAMEONLY, RENDITION_SUBTITLES, RENDITION_VIDEOONLY, RENDITIONINDEX_AUDIOONLY, RENDITIONINDEX_AUDIOVIDEO, RENDITIONINDEX_COUNT, RENDITIONINDEX_KEYFRAMEONLY, RENDITIONINDEX_SUBTITLES, RENDITIONINDEX_VIDEOONLY, SUBTITLELISTNAMEFields 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, relativePlaylistsFields 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, userNameFields inherited from interface com.wowza.wms.pushpublish.model.IPushPublish
CONNECTED_STATE_CONNECTED, CONNECTED_STATE_CONNECTING, CONNECTED_STATE_NOT_CONNECTED, CONNECTED_STATE_WAITING, PUSHPUBLISH_MAP_PATH_FIELD_NAME, 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_UNKNOWNFields inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuilder
PUSHER_ERROR_LIVEPACKETIZER_NOT_CONFIGURED, PUSHER_ERROR_RENDITIONS_MISCONFIGURED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconnect()createByteWriter(URI uri, int port) intdeleteMediaSegment(MediaSegmentModel mediaSegment) Deletes the media (chunk) at the destination URI.booleanintgetChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer) Get a JSON formatted string of data that represents the destination to include with the connect/disconnect loggingvoidinit(IApplicationInstance appInstance, String streamName, IMediaStream stream, Map<String, String> profileData, Map<String, String> maps, com.wowza.wms.pushpublish.manager.IPushPublisher pushPublisher, boolean streamDebug) Inits the instance.booleanbooleanIs this implementation sending to a backup servervoidLoads map and profile parametersbooleanClose the destination (if needed).booleanOpen the destination (if needed) in preparation of having one or more items (playlists/media segments) pushed to itvoidintsendGroupMasterPlaylist(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.voidsetAkamaiEventName(String akamaiEventName) voidsetAkamaiHostId(String akamaiHostId) voidsetAkamaiIngestAcceleration(boolean akamaiIngestAcceleration) voidsetAkamaiStreamId(String akamaiStreamId) voidsetSendToBackupServer(boolean backup) Setup to send to a backup destinationvoidsetUserAgent(String userAgent) booleanupdateGroupMasterPlaylistPlaybackURI(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 mediaFilenameMethods inherited from class com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino
adaptiveGroupPlaylistNeedsUpdating, addAudioMediaTag, addPlaylistToMasterPlaylist, addTagToPlaylist, addTagToPlaylist, createGroupPlaylist, createMasterPlaylist, createMediaPlaylist, createMediaSegmentModel, createOutputItem, createStreamInfTag, createTag, determinePlaylistSubstitutes, disconnect, disconnect, error, getAudioCodecId, getAudioName, getConnectedState, getContextStr, getGroupIdAudioString, getGroupPlaylistRenditionDescription, getHeaderSegment, getLanguageId, getLastChunkId, getLiveStreamPacketizerCupertino, getLiveStreamPacketizerName, getMediaPlaylistForRendtion, getMediaPlaylistPlaybackURL, getMediaPlaylists, getMediaPlaylistStr, getMessagesAttemptedCount, getMessagesFailedCount, getMessagesRetriedCount, getPacketizerLock, getPlaylistCount, getRandomSessionStr, getRenditionsStr, isGroupReady, isInRedundancyPair, isRendition, loadMediaSegment, outputSend, prepareMediaPlaylist, printPlaylist, processPlaylistChunks, renditionIndexToRendition, renditionToPacketizerRendition, renditionToRenditionIndex, resetNewPacketizer, sendGroupPlaylist, setAudioCodecId, setAudioName, setLanguageId, setLiveStreamPacketizer, setPlaylistGroupidAudio, setRenditionsStr, writeTagToStringMethods 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, setRelativePlaylistsMethods 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, updateUsageTrackerMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.wowza.wms.pushpublish.akamai.IPushPublishAkamai
getContextStr, getDstStreamName, getEntryName, getHostname, getPlaybackHostname, getSrcStreamName, isDebugLog, logDebug, logError, logError, logError, logInfo, logWarn, setDebugLog, setDstStreamName, setEntryName, setHostname, setPlaybackHostname, setSrcStreamNameMethods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPGroupMember
getAdaptiveGroupName, isInAdaptiveGroup, isLogDebugManifestMethods inherited from interface com.wowza.wms.pushpublish.model.IPushPublishHTTPOutputBuilder
getAppInstance, getDstStreamName, getSrcStreamName, isDebugLog
-
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:PushPublishHTTPBaseInits the instance.- Specified by:
initin interfaceIPushPublish- Overrides:
initin classPushPublishHTTPCupertino- Parameters:
appInstance- the app instancestreamName- the source stream nameprofileData- the profile paramsmaps- the map entry paramsstreamDebug- stream debug flag
-
load
Description copied from class:PushPublishHTTPBaseLoads map and profile parameters- Overrides:
loadin classPushPublishHTTPCupertino- Parameters:
dataMap- the data map
-
outputOpen
public 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- Specified by:
outputOpenin interfaceIPushPublishHTTPCupertino- Specified by:
outputOpenin interfaceIPushPublishHTTPOutputBuilder- Returns:
- true if the destination was opened
-
outputClose
public 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- Specified by:
outputClosein interfaceIPushPublishHTTPCupertino- Specified by:
outputClosein interfaceIPushPublishHTTPOutputBuilder- Returns:
- true if the destination was closed
-
connect
public void connect()- Specified by:
connectin interfaceIPushPublish- Overrides:
connectin classPushPublishHTTPCupertino
-
resetConnection
public void resetConnection()- Specified by:
resetConnectionin interfaceIPushPublish- Overrides:
resetConnectionin classPushPublishHTTPCupertino
-
getChunkDurationTarget
- Specified by:
getChunkDurationTargetin interfaceIPushPublishHTTPOutputBuilder- Overrides:
getChunkDurationTargetin classPushPublishHTTPCupertino
-
isSendToBackupServer
public boolean isSendToBackupServer()Description copied from interface:IPushPublishHTTPCupertinoIs this implementation sending to a backup server- Specified by:
isSendToBackupServerin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai- Specified by:
isSendToBackupServerin interfaceIPushPublishHTTPCupertino- Specified by:
isSendToBackupServerin interfaceIPushPublishHTTPGroupMember- Returns:
- true if sending to a backup server
-
setSendToBackupServer
public void setSendToBackupServer(boolean backup) Description copied from interface:IPushPublishHTTPCupertinoSetup to send to a backup destination- Specified by:
setSendToBackupServerin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai- Specified by:
setSendToBackupServerin interfaceIPushPublishHTTPCupertino
-
getPlaylistProperties
- Specified by:
getPlaylistPropertiesin interfaceIPushPublishHTTPGroupMember- Overrides:
getPlaylistPropertiesin classPushPublishHTTPCupertino
-
updateGroupMasterPlaylistPlaybackURI
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"- Specified by:
updateGroupMasterPlaylistPlaybackURIin interfaceIPushPublishHTTPCupertino- Parameters:
groupName- group namemasterPlaylist- master group playlist- Returns:
- true if the uri was updated
-
updateMasterPlaylistPlaybackURI
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- Specified by:
updateMasterPlaylistPlaybackURIin interfaceIPushPublishHTTPCupertino- Parameters:
playlist- the master playlist model to update the URI in- Returns:
- true if the URI was updated
-
updateMediaPlaylistPlaybackURI
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- Specified by:
updateMediaPlaylistPlaybackURIin interfaceIPushPublishHTTPCupertino- Parameters:
playlist- to update the uri in- Returns:
- true if the playlist uri was updated
-
updateMediaSegmentPlaybackURI
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- Specified by:
updateMediaSegmentPlaybackURIin interfaceIPushPublishHTTPCupertino- Parameters:
mediaSegment- to update the uri of- Returns:
- true if the uri was updated
-
sendGroupMasterPlaylist
Description copied from interface:IPushPublishHTTPCupertinoSends a group master playlist to the destination.- Specified by:
sendGroupMasterPlaylistin interfaceIPushPublishHTTPCupertino- Parameters:
groupName- the group nameplaylist- the group master playlist model- Returns:
- number of bytes sent to output
-
sendMasterPlaylist
Description copied from interface:IPushPublishHTTPCupertinoSends the master playlist to the destination.- Specified by:
sendMasterPlaylistin interfaceIPushPublishHTTPCupertino- 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
Description copied from interface:IPushPublishHTTPCupertinoSends the media playlist to the destination.- Specified by:
sendMediaPlaylistin interfaceIPushPublishHTTPCupertino- 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
Description copied from interface:IPushPublishHTTPCupertinoSends the media (chunk) to the destination; media provided as a fragment list.- Specified by:
sendMediaSegmentin interfaceIPushPublishHTTPCupertino- 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
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.- Specified by:
deleteMediaSegmentin interfaceIPushPublishHTTPCupertino- 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
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 interfaceIPushPublishHTTPCupertino- Specified by:
getDestionationLogDatain classPushPublishHTTPCupertino- Returns:
- JSON formatted string representation
-
getAkamaiEventName
- Specified by:
getAkamaiEventNamein interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
setAkamaiEventName
- Specified by:
setAkamaiEventNamein interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
getAkamaiStreamId
- Specified by:
getAkamaiStreamIdin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
setAkamaiStreamId
- Specified by:
setAkamaiStreamIdin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
getAkamaiHostId
- Specified by:
getAkamaiHostIdin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
setAkamaiHostId
- Specified by:
setAkamaiHostIdin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
isAkamaiIngestAcceleration
public boolean isAkamaiIngestAcceleration()- Specified by:
isAkamaiIngestAccelerationin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
setAkamaiIngestAcceleration
public void setAkamaiIngestAcceleration(boolean akamaiIngestAcceleration) - Specified by:
setAkamaiIngestAccelerationin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
getUserAgent
- Specified by:
getUserAgentin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
setUserAgent
- Specified by:
setUserAgentin interfacecom.wowza.wms.pushpublish.akamai.IPushPublishAkamai
-
createByteWriter
-
destroyByteWriter
public boolean destroyByteWriter()
-