Package com.wowza.wms.pushpublish.model
Interface IPushPublishHTTPGroupMember
- All Known Implementing Classes:
PushPublishHTTPCupertino,com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertinoAkamaiHandler,PushPublishHTTPCupertinoAkamaiMSL5Handler,PushPublishHTTPCupertinoCloudStorageHandler,PushPublishHTTPCupertinoGenericHandler,PushPublishHTTPCupertinoGoogleHandler,PushPublishHTTPCupertinoWowzaVideoHandler,com.wowza.video.pushpublish.protocol.cupertino.PushPublishVideoHTTPCupertinoCloudStorageHandler
public interface IPushPublishHTTPGroupMember
-
Method Summary
Modifier and TypeMethodDescriptionadaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime, List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) createGroupPlaylist(String id, List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups, IApplicationInstance appInstance, String context, WMSProperties properties) Creates a group playlist.getGroupPlaylistRenditionDescription(boolean forABRPlaylist) Generates a description or playlist-element String which can be used to differentiate this rendition from other renditions in a group.isGroupReady(List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) booleanbooleanbooleanbooleanvoidsendGroupPlaylist(String groupName, ManifestModel manifest) Sends a group playlist to the destination.default booleanWhether this handler sends a backup session somewhere its primary is not already publishing -- a different ingest hostname, a "-b" stream id, a "-b" destination folder, and so on.
-
Method Details
-
createGroupPlaylist
ManifestModel createGroupPlaylist(String id, List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups, IApplicationInstance appInstance, String context, WMSProperties properties) Creates a group playlist.- Parameters:
id- the idgroupingsByRedundantPairs- the renditions grouped by redundant pairsgroupingsByAbrGroups- the renditions grouped by redundant ABR groupproperties- the properties- Returns:
- the manifest model
-
sendGroupPlaylist
Sends a group playlist to the destination.- Parameters:
groupName- the group namemanifest- the playlist/manifest to send
-
getGroupPlaylistRenditionDescription
Generates 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.- Parameters:
forABRPlaylist- flag to indicate whether the description is for an adaptive bitrate group playlist.
-
isInAdaptiveGroup
boolean isInAdaptiveGroup() -
adaptiveGroupPlaylistNeedsUpdating
Boolean adaptiveGroupPlaylistNeedsUpdating(long lastUpdateTime, List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) -
isGroupReady
Boolean isGroupReady(List<List<IPushPublishHTTPGroupMember>> groupingsByRedundantPairs, List<List<IPushPublishHTTPGroupMember>> groupingsByAbrGroups) -
getAdaptiveGroupName
String getAdaptiveGroupName() -
getPlaylistProperties
WMSProperties getPlaylistProperties() -
isInRedundancyPair
boolean isInRedundancyPair() -
isSendToBackupServer
boolean isSendToBackupServer() -
supportsBackupDestination
default boolean supportsBackupDestination()Whether this handler sends a backup session somewhere its primary is not already publishing -- a different ingest hostname, a "-b" stream id, a "-b" destination folder, and so on.A handler that accepts
sendToBackupServerbut derives the same destination either way must return false: a redundant target would otherwise run two sessions writing the same paths, racing on the same files with independently packetized segments. The group manager checks this before starting the backup side of a redundant group (see PushPublishGroupManager.startChildSessionsForStream).Defaults to true, so a handler that separates its backup output -- as all the CDN and cloud-storage handlers do -- needs no override.
- Returns:
- true if a backup session publishes to a distinct destination
-
isLogDebugManifest
boolean isLogDebugManifest()
-