Class PushPublishBase

Object
com.wowza.wms.pushpublish.model.PushPublishBase
All Implemented Interfaces:
IPushPublish
Direct Known Subclasses:
PushPublishHTTPBase, PushPublishRTMP, PushPublishRTP, PushPublishShoutcast

public abstract class PushPublishBase extends Object implements IPushPublish
The Class PushPublishBase.
  • Field Details

    • logger

      protected WMSLogger logger
    • className

      protected String className
    • pushPublishType

      protected int pushPublishType
      The type of stream to be published.
    • pushPublishStreamDebug

      protected boolean pushPublishStreamDebug
      Enables stream debug.
    • reconnectWaitTime

      protected int reconnectWaitTime
      The time between reconnect attempts (only applies to some profiles).
    • sendingPerformance

      protected IOPerformanceCounter sendingPerformance
    • totalIOPerformanceLast

      protected IOPerformanceCounter totalIOPerformanceLast
    • totalIOPerformance2Last

      protected IOPerformanceCounter totalIOPerformance2Last
    • properties

      protected WMSProperties properties
      The properties.
    • profile

      protected String profile
      The map file entry profile.
    • entryName

      protected String entryName
      The map file entry name.
    • isAdaptiveStreaming

      protected boolean isAdaptiveStreaming
      The is adaptive streaming.
    • userName

      protected String userName
      The user name.
    • password

      protected String password
      The password.
    • appInstance

      protected IApplicationInstance appInstance
      The app instance within-which the module is running.
    • srcStreamName

      protected String srcStreamName
      The src stream name.
    • srcStream

      protected IMediaStream srcStream
    • dstStreamName

      protected String dstStreamName
      The destination stream name.
    • hostname

      protected String hostname
      The destination host.
    • playbackHostname

      protected String playbackHostname
      The destination host.
    • inetAddr

      protected InetAddress inetAddr
      The destination inet address.
    • port

      protected int port
      The destination port.
    • mImplementation

      protected String mImplementation
      The profile implementation.
    • DESTINATION_PRI

      public static final int DESTINATION_PRI
      See Also:
    • DESTINATION_BAK

      public static final int DESTINATION_BAK
      See Also:
    • DESTINATION_RED

      public static final int DESTINATION_RED
      See Also:
    • destinationServer

      protected int destinationServer
      Destination server for Stream Target destinations; can be primary, backup, or redundant.
    • isExternalRedundancy

      protected boolean isExternalRedundancy
      Stream Target has a redundant stream being pushed by another WSE instance
    • destinationName

      protected String destinationName
      Name of the target destination; e.g. "wowzavideo", "akamai", "rtmp" (generic).
    • pushPublishSession

      protected IPushPublishSession pushPublishSession
    • myMap

      protected Map<String,String> myMap
  • Constructor Details

    • PushPublishBase

      public PushPublishBase() throws com.wowza.wms.server.LicensingException
      Instantiates a new push publisher base.
      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 interface IPushPublish
      Parameters:
      appInstance - the app instance
      streamName - the source stream name
      maps - the map entry params
      profileData - the profile params
      streamDebug - stream debug flag
    • updateUsageTracker

      public void updateUsageTracker()
      Specified by:
      updateUsageTracker in interface IPushPublish
    • getImplementation

      public String getImplementation()
      Gets the implementation.
      Returns:
      the implementation
    • setImplementation

      public void setImplementation(String implementation)
      Sets the implementation.
      Parameters:
      implementation - the new implementation
    • getProperties

      public WMSProperties getProperties()
      Get properties.
      Specified by:
      getProperties in interface IPushPublish
      Returns:
      properties
    • getProfile

      public String getProfile()
      Get entry profile.
      Specified by:
      getProfile in interface IPushPublish
      Returns:
      map entry profile
    • setProfile

      public void setProfile(String profile)
      Set map file entry profile.
      Specified by:
      setProfile in interface IPushPublish
      Parameters:
      profile - map entry profile
    • getEntryName

      public String getEntryName()
      Get map file entry name.
      Specified by:
      getEntryName in interface IPushPublish
      Returns:
      map file entry name
    • setEntryName

      public void setEntryName(String entryName)
      Set map file entry name.
      Specified by:
      setEntryName in interface IPushPublish
      Parameters:
      entryName - map file entry name
    • isAdaptiveStreaming

      public boolean isAdaptiveStreaming()
      Checks if is adaptive streaming.
      Returns:
      true, if is adaptive streaming
    • setAdaptiveStreaming

      public void setAdaptiveStreaming(boolean isAdaptiveStreaming)
      Sets the adaptive streaming.
      Parameters:
      isAdaptiveStreaming - the new adaptive streaming
    • setAdaptiveStreaming

      public void setAdaptiveStreaming(String adaptiveStreamingStr)
    • getUserName

      public String getUserName()
      Gets the user name.
      Returns:
      the user name
    • setUserName

      public void setUserName(String userName)
      Set user name.
      Parameters:
      userName - user name
    • getPassword

      public String getPassword()
      Get password.
      Returns:
      password
    • setPassword

      public void setPassword(String password)
      Set password.
      Parameters:
      password - password
    • getAppInstance

      public IApplicationInstance getAppInstance()
      Get appInstance interface.
      Returns:
      appInstance interface
    • setAppInstance

      public void setAppInstance(IApplicationInstance appInstance)
      Set appInstance interface.
      Parameters:
      appInstance - appInstance interface
    • getSrcStreamName

      public String getSrcStreamName()
      Get source stream name.
      Specified by:
      getSrcStreamName in interface IPushPublish
      Returns:
      source stream name
    • setSrcStreamName

      public void setSrcStreamName(String srcStreamName)
      Set source stream name.
      Specified by:
      setSrcStreamName in interface IPushPublish
      Parameters:
      srcStreamName - source stream name
    • getDstStreamName

      public String getDstStreamName()
      Get destination stream name.
      Specified by:
      getDstStreamName in interface IPushPublish
      Returns:
      destination stream name
    • setDstStreamName

      public void setDstStreamName(String dstStreamName)
      Set destination stream name.
      Specified by:
      setDstStreamName in interface IPushPublish
      Parameters:
      dstStreamName - destination stream name
    • setStreamName

      public void setStreamName(String streamName)
      Sets the stream name.
      Specified by:
      setStreamName in interface IPushPublish
      Parameters:
      streamName - the new stream name
    • getHostname

      public String getHostname()
      Get destination server host name.
      Specified by:
      getHostname in interface IPushPublish
      Returns:
      destination server host name
    • setHost

      public void setHost(String hostname)
      Set destination server host name.
      Specified by:
      setHost in interface IPushPublish
      Parameters:
      hostname - destination server host name
    • setHostname

      public void setHostname(String hostname)
      Specified by:
      setHostname in interface IPushPublish
    • getPlaybackHostname

      public String getPlaybackHostname()
      Get playback server host name.
      Returns:
      playback server host name
    • setPlaybackHostname

      public void setPlaybackHostname(String playbackHostname)
      Set playback server host name.
      Parameters:
      playbackHostname - playback server host name
    • getPort

      public int getPort()
      Get destination server port.
      Specified by:
      getPort in interface IPushPublish
      Returns:
      destination server port
    • setPort

      public void setPort(int port)
      Set destination server port.
      Specified by:
      setPort in interface IPushPublish
      Parameters:
      port - destination server port
    • setPort

      public void setPort(String port)
      Set destination server port.
      Specified by:
      setPort in interface IPushPublish
      Parameters:
      port - destination server port
    • setDestinationServer

      public void setDestinationServer(String destinationServer)
      Set destination server.
      Parameters:
      destinationServer - destination server
    • getDestinationServer

      public int getDestinationServer()
      Get destination server. return destination server
    • setDestinationServer

      public void setDestinationServer(int destinationServer)
      Set destination server.
      Parameters:
      destinationServer - destination server
    • isExternalRedundancy

      public boolean isExternalRedundancy()
      Is there an redundant stream being pushed by an external WSE instance? return true or false
    • setExternalRedundancy

      public void setExternalRedundancy(boolean isExternalRedundancy)
      Set whether there is an external redundant stream.
      Parameters:
      isExternalRedundancy -
    • setExternalRedundancy

      public void setExternalRedundancy(String externalRedundancy)
    • getDestinationName

      public String getDestinationName()
      Get destination name.
      Specified by:
      getDestinationName in interface IPushPublish
      Returns:
      destination name
    • setDestinationName

      public void setDestinationName(String destinationName)
      Set destination name.
      Specified by:
      setDestinationName in interface IPushPublish
      Parameters:
      destinationName - destination name
    • getWowzaStreamingEngineVersionStr

      public static String getWowzaStreamingEngineVersionStr()
      Gets the server version str.
      Returns:
      the server version str
    • load

      public void load(HashMap<String,String> dataMap)
      Loads map and profile parameters
      Parameters:
      dataMap - the data map
    • getReconnectWaitTime

      public int getReconnectWaitTime()
      Get the reconnect wait time (milliseconds). Shortest time between connection attempts.
      Specified by:
      getReconnectWaitTime in interface IPushPublish
      Returns:
      reconnect wait time (milliseconds)
    • setReconnectWaitTime

      public void setReconnectWaitTime(int reconnectWaitTime)
      Set the reconnect wait time (milliseconds). Shortest time between connection attempts.
      Specified by:
      setReconnectWaitTime in interface IPushPublish
      Parameters:
      reconnectWaitTime - reconnect wait time (milliseconds)
    • getBandwidth

      public double getBandwidth()
    • getInetAddr

      public InetAddress getInetAddr()
      Returns:
      the inetAddr
    • setInetAddr

      public void setInetAddr(InetAddress inetAddr)
      Parameters:
      inetAddr - the inetAddr to set
    • getPushPublishType

      public int getPushPublishType()
      Specified by:
      getPushPublishType in interface IPushPublish
    • createPushPublishSession

      public IPushPublishSession createPushPublishSession()
      Specified by:
      createPushPublishSession in interface IPushPublish
    • getSrcStream

      public IMediaStream getSrcStream()
      Get source IMediaStream.
      Specified by:
      getSrcStream in interface IPushPublish
      Returns:
      source IMediaStream
    • setSrcStream

      public void setSrcStream(IMediaStream srcStream)
      Sets the source IMediaStream.
      Specified by:
      setSrcStream in interface IPushPublish
      Parameters:
      srcStream - the source IMediaStream
    • getMap

      public Map<String,String> getMap()
      Specified by:
      getMap in interface IPushPublish
    • getBaseParams

      public Map<String,String> getBaseParams()
    • incrementMessagesOut

      public void incrementMessagesOut(long bytes)
    • getMessagesOutBytes

      public long getMessagesOutBytes()
    • getMessagesOutCount

      public long getMessagesOutCount()
    • add

      public void add(IOPerformanceCounter totalValue)
    • addIOPerformance2

      public void addIOPerformance2(IOPerformanceCounter totalIOPerformanceResult)
    • getDestinationID

      public int getDestinationID()
      Get destination ID. A return value of 0 means the destination ID cannot be determined.
      Specified by:
      getDestinationID in interface IPushPublish
      Returns:
      destination ID
    • getContextStr

      public abstract String getContextStr()
      Specified by:
      getContextStr in interface IPushPublish
    • updateLoggingValues

      protected void updateLoggingValues(String protocol)
      Update global logging values: protocol (logger ID: WMSLoggerIDs.PROTO_XXX) application name application instance name vhost name source stream name IOPerformanceCounter message out bytes This call is inherently threadsafe as it sets values in the log4j MDC, which is managed on a per thread basis.
      Parameters:
      protocol - protocol
    • clearLoggingValues

      protected void clearLoggingValues()
      Clear global logging values previously set by updateLoggingValues. This call is inherently threadsafe as it clears values in the log4j MDC, which is managed on a per thread basis.
    • isDebugLog

      public boolean isDebugLog()
      Specified by:
      isDebugLog in interface IPushPublish
    • setDebugLog

      public void setDebugLog(boolean debugLog)
      Set debug logging.
      Specified by:
      setDebugLog in interface IPushPublish
      Parameters:
      debugLog - debug logging
    • logDebug

      public void logDebug(String methodName, String log)
    • logInfo

      public void logInfo(String methodName, String log)
    • logWarn

      public void logWarn(String methodName, String log)
    • logError

      public void logError(String methodName, String log)
    • logError

      public void logError(String methodName, String log, Throwable e)
    • logError

      public void logError(String methodName, Throwable e)
    • resolveHostName

      public String resolveHostName()
      Resolve host name to connect to
      Returns:
      hostname