IPushPublish, IPushPublishHTTPGroupMember, IPushPublishHTTPOutputBuilder, IPushPublishHTTPCupertinoPushPublishHTTPCupertinoAkamaiHandler, PushPublishHTTPCupertinoCloudStorageHandler, PushPublishHTTPCupertinoGoogleHandlerpublic abstract class PushPublishHTTPCupertino extends PushPublishHTTPBase implements IPushPublishHTTPCupertino, IPushPublishHTTPGroupMember, IPushPublishHTTPOutputBuilder
| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
addEndListOnDisconnect |
|
protected int |
chunkDurationTarget |
|
static String |
CHUNKLISTNAME_AUDIOONLY |
|
static String |
CHUNKLISTNAME_AUDIOVIDEO |
|
static String |
CHUNKLISTNAME_KEYFRAMEONLY |
|
static String |
CHUNKLISTNAME_VIDEOONLY |
|
static String[] |
CHUNKLISTNAMES |
|
protected boolean |
keepMediaSegmentDataAfterSending |
|
protected LiveStreamPacketizerCupertino |
liveStreamPacketizerCupertino |
|
static String |
PLAYLISTNAME |
|
protected PushPublishHTTPPusher |
pusher |
|
static int |
RENDITION_AUDIOONLY |
|
static int |
RENDITION_AUDIOVIDEO |
|
static int |
RENDITION_KEYFRAMEONLY |
|
static int |
RENDITION_VIDEOONLY |
|
static int |
RENDITIONINDEX_AUDIOONLY |
|
static int |
RENDITIONINDEX_AUDIOVIDEO |
|
static int |
RENDITIONINDEX_COUNT |
|
static int |
RENDITIONINDEX_KEYFRAMEONLY |
|
static int |
RENDITIONINDEX_VIDEOONLY |
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_UNKNOWNPUSHER_ERROR_LIVEPACKETIZER_NOT_CONFIGURED, PUSHER_ERROR_RENDITIONS_MISCONFIGUREDappInstance, 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, userNameCACHE_CONTROL_FACTOR, CACHE_CONTROL_HEADER, CACHE_CONTROL_HEADER_KEY, CACHE_CONTROL_HEADER_NONE, CACHE_CONTROL_MEDIA_DEFAULT, httpLogManifests, httpManifestDebug, INDETERMINATE_PLAYLIST_COUNT, MIN_PLAYLIST_COUNT, playlistAcrossSessions, playlistCountFromMap, playlistCountFromPacketizer, playlistCrossName, playlistDurationFromMap, playlistMap, playlistName, playlistTimeout, relativePlaylists| Constructor | Description |
|---|---|
PushPublishHTTPCupertino() |
| Modifier and Type | Method | Description |
|---|---|---|
Boolean |
adaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime,
java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs,
java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) |
|
protected 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
|
protected void |
addTagToPlaylist(PlaylistModel playlist,
TagModel tag) |
Adds the provided TagModel to the end of the list of TagModels for the provided Playlist Model
|
void |
connect() |
|
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) |
Creates a group playlist.
|
protected PlaylistModel |
createMasterPlaylist() |
Creates a master playlist and propagates the context string from this implemenation to the returned playlist model
|
protected PlaylistModel |
createMediaPlaylist(int renditionIdx) |
Creates a empty media playlist and propagates the context from this implemenation to the returned playlist
|
protected MediaSegmentModel |
createMediaSegmentModel() |
Creates an empty media segment model and propagates the context from the implementation to the returnd media segment model
|
PushPublishHTTPOutputItem |
createOutputItem(ILiveStreamPacketizer liveStreamPacketizer,
int lastChunkIndex) |
|
protected TagModel |
createTag(Class<? extends TagModel> clazz) |
Create a TagModel of the provided TagModel
|
void |
disconnect() |
|
void |
disconnect(boolean hard) |
|
void |
error(int errorCode) |
|
int |
getChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer) |
|
int |
getConnectedState() |
|
String |
getContextStr() |
|
abstract String |
getDestionationLogData() |
Get a JSON formatted string of data that represents the destination to include with the connect/disconnect logging
|
String |
getGroupPlaylistRenditionDescription(boolean forABRPlaylist) |
Generates a description or playlist-element String which can be used to differentiate this rendition from other renditions in a group.
|
int |
getLastChunkId(ILiveStreamPacketizer liveStreamPacketizer) |
|
String |
getLiveStreamPacketizerName() |
|
String |
getMediaPlaylistPlaybackURL(int rendition) |
|
long |
getMessagesAttemptedCount() |
|
long |
getMessagesFailedCount() |
|
long |
getMessagesRetriedCount() |
|
Object |
getPacketizerLock(ILiveStreamPacketizer liveStreamPacketizer) |
|
int |
getPlaylistCount() |
Get the playlist count.
|
WMSProperties |
getPlaylistProperties() |
|
String |
getRandomSessionStr() |
Gets a random session string that lives for the life time of the currently published stream.
|
String |
getRenditionsStr() |
|
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.
|
Boolean |
isGroupReady(java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs,
java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) |
|
boolean |
isInRedundancyPair() |
|
void |
load(java.util.HashMap<String,String> dataMap) |
Loads map and profile parameters
|
void |
outputSend(PushPublishHTTPOutputItem outputItem) |
|
String |
printPlaylist(PlaylistModel playlist) |
Will print the provided playlist to a String.
|
void |
resetConnection() |
|
void |
resetNewPacketizer(ILiveStreamPacketizer liveStreamPacketizer) |
|
void |
sendGroupPlaylist(String groupName,
ManifestModel manifest) |
Sends a group playlist to the destination.
|
protected void |
setLiveStreamPacketizer(ILiveStreamPacketizer liveStreamPacketizer) |
|
void |
setRenditionsStr(String renditionsStr) |
|
protected String |
writeTagToString(TagModel tag) |
Writes the tag contents out to a string in UTF-8 encoding to a String
|
deleteMediaSegment, isSendToBackupServer, outputClose, outputOpen, sendGroupMasterPlaylist, sendMasterPlaylist, sendMediaPlaylist, sendMediaSegment, setSendToBackupServer, updateGroupMasterPlaylistPlaybackURI, updateMasterPlaylistPlaybackURI, updateMediaPlaylistPlaybackURI, updateMediaSegmentPlaybackURIgetAdaptiveGroupName, isInAdaptiveGroup, isLogDebugManifest, isSendToBackupServergetAppInstance, getDstStreamName, getSrcStreamName, isDebugLog, outputClose, outputOpenclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadd, 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, 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, updateUsageTrackergetAdaptiveGroupName, getCachecontrol, getPlaylistMap, getPlaylistTimeout, isInAdaptiveGroup, isLogDebugManifest, isPlaylistAcrossSessions, isRelativePlaylists, logDebugManifest, setAdaptiveGroupName, setCachecontrol, setPlaylistAcrossSessions, setPlaylistCountFromMap, setPlaylistCountFromPacketizer, setPlaylistTimeout, setRelativePlaylistsprotected boolean addEndListOnDisconnect
protected int chunkDurationTarget
public static final String CHUNKLISTNAME_AUDIOONLY
public static final String CHUNKLISTNAME_AUDIOVIDEO
public static final String CHUNKLISTNAME_KEYFRAMEONLY
public static final String CHUNKLISTNAME_VIDEOONLY
public static final String[] CHUNKLISTNAMES
protected boolean keepMediaSegmentDataAfterSending
protected LiveStreamPacketizerCupertino liveStreamPacketizerCupertino
public static final String PLAYLISTNAME
protected PushPublishHTTPPusher pusher
public static final int RENDITION_AUDIOONLY
public static final int RENDITION_AUDIOVIDEO
public static final int RENDITION_KEYFRAMEONLY
public static final int RENDITION_VIDEOONLY
public static final int RENDITIONINDEX_AUDIOONLY
public static final int RENDITIONINDEX_AUDIOVIDEO
public static final int RENDITIONINDEX_COUNT
public static final int RENDITIONINDEX_KEYFRAMEONLY
public static final int RENDITIONINDEX_VIDEOONLY
public PushPublishHTTPCupertino()
throws com.wowza.wms.server.LicensingException
com.wowza.wms.server.LicensingExceptionpublic Boolean adaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime,
java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs,
java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups)
adaptiveGroupPlaylistNeedsUpdating in interface IPushPublishHTTPGroupMemberprotected void addTagToPlaylist(PlaylistModel playlist, int idx, TagModel tag)
playlist - to add the TagModel toidx - index where to insert the TagModel attag - Model to insert into the list of TagModelsprotected void addTagToPlaylist(PlaylistModel playlist, TagModel tag)
playlist - to add the TagModel totag - to add to the playlistpublic void connect()
connect in interface IPushPublishpublic 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)
IPushPublishHTTPGroupMembercreateGroupPlaylist in interface IPushPublishHTTPGroupMemberid - the idgroupingsByRedundantPairs - the renditions grouped by redundant pairsgroupingsByAbrGroups - the renditions grouped by redundant ABR groupproperties - the propertiesprotected PlaylistModel createMasterPlaylist()
protected PlaylistModel createMediaPlaylist(int renditionIdx)
protected MediaSegmentModel createMediaSegmentModel()
public final PushPublishHTTPOutputItem createOutputItem(ILiveStreamPacketizer liveStreamPacketizer, int lastChunkIndex)
createOutputItem in interface IPushPublishHTTPOutputBuilderprotected TagModel createTag(Class<? extends TagModel> clazz)
clazz - Class of the TagModel to createpublic void disconnect()
public void disconnect(boolean hard)
disconnect in interface IPushPublishpublic void error(int errorCode)
error in interface IPushPublishHTTPOutputBuilderpublic int getChunkDurationTarget(ILiveStreamPacketizer liveStreamPacketizer)
getChunkDurationTarget in interface IPushPublishHTTPOutputBuilderpublic int getConnectedState()
getConnectedState in interface IPushPublishpublic String getContextStr()
getContextStr in interface IPushPublishgetContextStr in class PushPublishBasepublic abstract String getDestionationLogData()
getDestionationLogData in interface IPushPublishHTTPCupertinopublic String getGroupPlaylistRenditionDescription(boolean forABRPlaylist)
IPushPublishHTTPGroupMembergetGroupPlaylistRenditionDescription in interface IPushPublishHTTPGroupMemberforABRPlaylist - flag to indicate whether the description is for an adaptive bitrate group playlist.public int getLastChunkId(ILiveStreamPacketizer liveStreamPacketizer)
getLastChunkId in interface IPushPublishHTTPOutputBuilderpublic String getLiveStreamPacketizerName()
getLiveStreamPacketizerName in interface IPushPublishHTTPOutputBuilderpublic String getMediaPlaylistPlaybackURL(int rendition)
public long getMessagesAttemptedCount()
getMessagesAttemptedCount in interface IPushPublishpublic long getMessagesFailedCount()
getMessagesFailedCount in interface IPushPublishpublic long getMessagesRetriedCount()
getMessagesRetriedCount in interface IPushPublishpublic Object getPacketizerLock(ILiveStreamPacketizer liveStreamPacketizer)
getPacketizerLock in interface IPushPublishHTTPOutputBuilderpublic int getPlaylistCount()
PushPublishHTTPBasegetPlaylistCount in class PushPublishHTTPBasepublic WMSProperties getPlaylistProperties()
getPlaylistProperties in interface IPushPublishHTTPGroupMemberpublic String getRandomSessionStr()
public String getRenditionsStr()
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)
PushPublishHTTPBaseinit in interface IPushPublishinit in class PushPublishHTTPBaseappInstance - the app instancestreamName - the source stream nameprofileData - the profile paramsmaps - the map entry paramsstreamDebug - stream debug flagpublic Boolean isGroupReady(java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, java.util.List<java.util.List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups)
isGroupReady in interface IPushPublishHTTPGroupMemberpublic boolean isInRedundancyPair()
isInRedundancyPair in interface IPushPublishHTTPGroupMemberpublic void load(java.util.HashMap<String,String> dataMap)
PushPublishHTTPBaseload in class PushPublishHTTPBasedataMap - the data mappublic final void outputSend(PushPublishHTTPOutputItem outputItem)
outputSend in interface IPushPublishHTTPOutputBuilderpublic String printPlaylist(PlaylistModel playlist)
playlist - to print to a Stringpublic void resetConnection()
resetConnection in interface IPushPublishpublic void resetNewPacketizer(ILiveStreamPacketizer liveStreamPacketizer)
resetNewPacketizer in interface IPushPublishHTTPOutputBuilderpublic void sendGroupPlaylist(String groupName,
ManifestModel manifest)
IPushPublishHTTPGroupMembersendGroupPlaylist in interface IPushPublishHTTPGroupMembergroupName - the group namemanifest - the playlist/manifest to sendprotected void setLiveStreamPacketizer(ILiveStreamPacketizer liveStreamPacketizer)
setLiveStreamPacketizer in class PushPublishHTTPBasepublic void setRenditionsStr(String renditionsStr)
protected String writeTagToString(TagModel tag)
tag - to be encoded