Package com.wowza.wms.pushpublish.model
Class PushPublishHTTPBase
Object
com.wowza.wms.pushpublish.model.PushPublishBase
com.wowza.wms.pushpublish.model.PushPublishHTTPBase
- All Implemented Interfaces:
IPushPublish
- Direct Known Subclasses:
PushPublishHTTPCupertino
,PushPublishHTTPYouTubeBase
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Float
static final String
static final String
static final String
static final Integer
Cache Control header constants, used in push publish file cache control .e.g Cloud Storage ( S3, Azure, GCS )protected boolean
Enables logging of the manifest itself.protected boolean
Enables manifest playlist debug logging.protected static final int
protected int
The max segment count from PushPublishMap.txt.protected int
The max segment count used by the associated live stream packetizer.protected static final int
The minimum allowable playlist size.protected boolean
Indicates whether instance-specific playlists should be maintained across source stream interruptions and app restarts.protected String
base url to use in playlist/manifestprotected int
The playlist size from the map entry.protected int
The playlist size used by the associated live stream packetizer.protected String
The instance-specific name for the playlist, allowing the playlist to be maintained across session restarts.protected long
The playlist duration from the map entry.protected PushPublishHTTPPlaylistMap
The playlist map.protected String
The actual name of playlist file that is to be pushed to the destination (e.g.protected int
The timeout value used to delete orphaned playlists from the vhost.protected boolean
use only relative URL references in the playlist/manifest.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_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_UNKNOWN
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
int
Get the playlist count.Get the playlist map.int
Get the playlist timeout value.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) Inits the instance.boolean
Is the entry in an adaptive group.boolean
Get the current setting of the HTTP Manifest debug logging This is controlled by the pushPublishHTTPPlayListDebug boolean property in the application.xml and by the http.manifestDebug setting in the pushpublish map fileboolean
Is the playlist maintained across recurring pushpublish sessions.boolean
void
Loads map and profile parametersvoid
logDebugManifest
(String methodName, String log) Log the provided log str if the HTTP Manifest logging is enabledvoid
setAdaptiveGroupName
(String adaptiveGroup) protected void
setLiveStreamPacketizer
(ILiveStreamPacketizer liveStreamPacketizer) void
setMaxSegmentCountFromMap
(int maxSegmentCountFromMap) void
setMaxSegmentCountFromPacketizer
(int maxSegmentCount) void
setPlaylistAcrossSessions
(boolean playlistAcrossSessions) Set whether the playlist is maintained across recurring pushpublish sessions.void
setPlaylistBaseUrl
(String playlistBaseUrl) void
setPlaylistCountFromMap
(int playlistCountFromMap) Set the playlist count value from the map file.void
setPlaylistCountFromPacketizer
(int playlistCountFromPacketizer) Set the playlist count value from the live stream packetizer.void
setPlaylistTimeout
(int playlistTimeout) Set the playlist timeout value.void
setRelativePlaylists
(boolean relativePlaylists) Methods inherited from class com.wowza.wms.pushpublish.model.PushPublishBase
add, addIOPerformance2, clearLoggingValues, createPushPublishSession, getAppInstance, getBandwidth, getBaseParams, getContextStr, 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.IPushPublish
connect, disconnect, getConnectedState, getMessagesAttemptedCount, getMessagesFailedCount, getMessagesRetriedCount, resetConnection
-
Field Details
-
MIN_PLAYLIST_COUNT
protected static final int MIN_PLAYLIST_COUNTThe minimum allowable playlist size.- See Also:
-
playlistCountFromPacketizer
protected int playlistCountFromPacketizerThe playlist size used by the associated live stream packetizer. How many segments to put in playlist -
playlistCountFromMap
protected int playlistCountFromMapThe playlist size from the map entry. -
maxSegmentCountFromPacketizer
protected int maxSegmentCountFromPacketizerThe max segment count used by the associated live stream packetizer. How many segments to hold for requests -
maxSegmentCountFromMap
protected int maxSegmentCountFromMapThe max segment count from PushPublishMap.txt. How many segments to hold for requests -
playlistMap
The playlist map. -
playlistCrossName
The instance-specific name for the playlist, allowing the playlist to be maintained across session restarts. -
playlistName
The actual name of playlist file that is to be pushed to the destination (e.g. "playlist.m3u8"). -
relativePlaylists
protected boolean relativePlaylistsuse only relative URL references in the playlist/manifest. If true baseUrl is ignored. -
playlistBaseUrl
base url to use in playlist/manifest -
httpManifestDebug
protected boolean httpManifestDebugEnables manifest playlist debug logging. -
httpLogManifests
protected boolean httpLogManifestsEnables logging of the manifest itself. -
INDETERMINATE_PLAYLIST_COUNT
protected static final int INDETERMINATE_PLAYLIST_COUNT- See Also:
-
playlistDurationFromMap
protected long playlistDurationFromMapThe playlist duration from the map entry. This value is in seconds. http.playlistDuration -
playlistTimeout
protected int playlistTimeoutThe timeout value used to delete orphaned playlists from the vhost. -
playlistAcrossSessions
protected boolean playlistAcrossSessionsIndicates whether instance-specific playlists should be maintained across source stream interruptions and app restarts. -
CACHE_CONTROL_MEDIA_DEFAULT
Cache Control header constants, used in push publish file cache control .e.g Cloud Storage ( S3, Azure, GCS ) -
CACHE_CONTROL_FACTOR
-
CACHE_CONTROL_HEADER_KEY
- See Also:
-
CACHE_CONTROL_HEADER
- See Also:
-
CACHE_CONTROL_HEADER_NONE
- See Also:
-
-
Constructor Details
-
PushPublishHTTPBase
public PushPublishHTTPBase() 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) Inits the instance.- Specified by:
init
in interfaceIPushPublish
- Overrides:
init
in classPushPublishBase
- Parameters:
appInstance
- the app instancestreamName
- the source stream namemaps
- the map entry paramsprofileData
- the profile paramsstreamDebug
- stream debug flag
-
setPlaylistCountFromMap
public void setPlaylistCountFromMap(int playlistCountFromMap) Set the playlist count value from the map file.- Parameters:
playlistCountFromMap
- the playlist count
-
setPlaylistCountFromPacketizer
public void setPlaylistCountFromPacketizer(int playlistCountFromPacketizer) Set the playlist count value from the live stream packetizer.- Parameters:
playlistCountFromPacketizer
- the playlist count
-
setMaxSegmentCountFromMap
public void setMaxSegmentCountFromMap(int maxSegmentCountFromMap) -
setMaxSegmentCountFromPacketizer
public void setMaxSegmentCountFromPacketizer(int maxSegmentCount) -
getPlaylistCount
public int getPlaylistCount()Get the playlist count. The value from the map file is returned if defined, else the packetizer value is returned return the playlist count -
getMaxSegmentCount
public int getMaxSegmentCount() -
getPlaylistTimeout
public int getPlaylistTimeout()Get the playlist timeout value. return the playlist timeout value -
setPlaylistTimeout
public void setPlaylistTimeout(int playlistTimeout) Set the playlist timeout value.- Parameters:
playlistTimeout
- the playlist timeout
-
isPlaylistAcrossSessions
public boolean isPlaylistAcrossSessions()Is the playlist maintained across recurring pushpublish sessions. return true if the playlist is maintained across recurring pushpublish sessions -
setPlaylistAcrossSessions
public void setPlaylistAcrossSessions(boolean playlistAcrossSessions) Set whether the playlist is maintained across recurring pushpublish sessions.- Parameters:
playlistAcrossSessions
- is the playlist maintained across recurring pushpublish sessions
-
getPlaylistMap
Get the playlist map. return the playlist map -
isRelativePlaylists
public boolean isRelativePlaylists() -
setRelativePlaylists
public void setRelativePlaylists(boolean relativePlaylists) -
getPlaylistBaseUrl
-
setPlaylistBaseUrl
-
getAdaptiveGroupName
-
setAdaptiveGroupName
-
isInAdaptiveGroup
public boolean isInAdaptiveGroup()Is the entry in an adaptive group. return true if the entry is in an adaptive group -
load
Loads map and profile parameters- Overrides:
load
in classPushPublishBase
- Parameters:
dataMap
- the data map
-
isLogDebugManifest
public boolean isLogDebugManifest()Get the current setting of the HTTP Manifest debug logging This is controlled by the pushPublishHTTPPlayListDebug boolean property in the application.xml and by the http.manifestDebug setting in the pushpublish map file- Returns:
- true if HTTP Mainfest debug logging is enabled
-
logDebugManifest
Log the provided log str if the HTTP Manifest logging is enabled- Parameters:
methodName
- name of the class method using the loglog
- string to log if enabled
-
setLiveStreamPacketizer
-