Interface IApplicationInstance


public interface IApplicationInstance

IApplicationInstance: public interface to ApplicationInstance object

  • Field Details

  • Method Details

    • shutdownClient

      void shutdownClient(IClient client)
      shutdown a client connection immediately
      Parameters:
      client - client connection
    • shutdown

      void shutdown(boolean isServerShutdown, boolean isAppShutdown)
      shutdown applicationInstance
      Parameters:
      isServerShutdown - true if due to shutdown of server
      isAppShutdown - true if due to shutdown of application
    • getApplication

      IApplication getApplication()
      Get parent application
      Returns:
      parent application
    • getName

      String getName()
      Get applicationInstance name
      Returns:
      applicationInstance name
    • setName

      void setName(String name)
      Set applicationInstance name
      Parameters:
      name - applicationInstance name
    • getStreams

      MediaStreamMap getStreams()
      Get all the mediaStream objects attached to this applicationInstance

      Get Stream By StreamId

      IClient client;
      int streamId;
      
      MediaStreamMap streams = client.getAppInstance().getStreams();
      IMediaStream stream = streams.getStream((IClient)null, streamId);
      
      Returns:
      collection of mediaStream objects
    • getVHost

      IVHost getVHost()
      Get parent vHost
      Returns:
      parent vHost
    • getProperties

      WMSProperties getProperties()
      Get applicationInstance properties
      Returns:
      applicationInstance properties
    • getManagerProperties

      WMSProperties getManagerProperties()
      Get Application's manager's properties collection
      Returns:
      manager's property collection
    • getStreamType

      String getStreamType()
      Get default streamType for application.
      Returns:
      streamType name
    • setStreamType

      void setStreamType(String streamType)
      Set default stream type for application.
      Parameters:
      streamType - streamType name
    • isRepeaterAppType

      boolean isRepeaterAppType()
      Is this a repeater application type
      Returns:
    • setRepeaterAppType

      void setRepeaterAppType(boolean isRepeaterAppType)
      Set is repeater application type
      Parameters:
      isRepeaterAppType -
    • isAcceptConnection

      boolean isAcceptConnection()
      Is auto accept connection on/off
      Returns:
      auto accept connection
    • setAcceptConnection

      void setAcceptConnection(boolean acceptConnection)
      Set is auto accept connection
      Parameters:
      acceptConnection - auto accept connection
    • getClientCountTotal

      int getClientCountTotal()
      Get number of client connections in total that have connected to this applicationInstance
      Returns:
      number of client connections
    • incClientCountTotal

      void incClientCountTotal()
      Increment the total number of connected client counter by one
    • getClientCount

      int getClientCount()
      Get number of client connections currently connected to applicationInstance
      Returns:
      number of client connections
    • getClientById

      IClient getClientById(int index)
      Get a client connection by the client Id
      Parameters:
      index - client Id
      Returns:
      client connection
    • getClients

      List<IClient> getClients()
      Get the set of clients currently connected to this application instance (replaces getClient(index))
      Returns:
      set of clients
    • getSharedObjects

      ISharedObjects getSharedObjects()
      Get non-peristent shared object collection
      Returns:
      collection of non-persistent shared objects
    • getSharedObjects

      ISharedObjects getSharedObjects(boolean isPersistent)
      Get either persistent or non-persistent shared object collection
      Parameters:
      isPersistent -
      Returns:
      collection of shared objects
    • notifyMediaCasterSetSourceStream

      void notifyMediaCasterSetSourceStream(IMediaCaster mediaCaster, IMediaStream stream)
    • notifyMediaCasterConnectStart

      void notifyMediaCasterConnectStart(IMediaCaster mediaCaster)
    • notifyMediaCasterConnectSuccess

      void notifyMediaCasterConnectSuccess(IMediaCaster mediaCaster)
    • notifyMediaCasterConnectFailure

      void notifyMediaCasterConnectFailure(IMediaCaster mediaCaster)
    • notifyMediaCasterStreamStart

      void notifyMediaCasterStreamStart(IMediaCaster mediaCaster)
    • notifyMediaCasterStreamStop

      void notifyMediaCasterStreamStop(IMediaCaster mediaCaster)
    • addClientListener

      void addClientListener(IClientNotify clientListener)
      Add client listener. Listens for connects, disconnect, accepts and reject

      Add a Client Listener

      IApplicationInstance appInstance;
      
      class ClientListener implements IClientNotify
      {
              public void onClientConnect(IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onClientConnect: "+
                              client.getClientId());
              }
      
              public void onClientDisconnect(IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onClientDisconnect: "+
                              client.getClientId());
              }
      
              public void onClientAccept(IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onClientAccept: "+
                              client.getClientId());
              }
      
              public void onClientReject(IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onClientReject: "+
                              client.getClientId());
              }
      }
      
      appInstance.addClientListener(new ClientListener());
      
      Parameters:
      clientListener - client listener
    • removeClientListener

      void removeClientListener(IClientNotify clientListener)
      Remove client listener. Listens for connects, disconnect, accepts and reject
      Parameters:
      clientListener - client listener
    • addMediaStreamListener

      void addMediaStreamListener(IMediaStreamNotify mediaStreamListener)
      Add mediaStream listener. Listens for create and destroy

      Add a MediaStream Listener

      IApplicationInstance appInstance;
      
      class MediaStreamListener implements IMediaStreamNotify
      {
              public void onMediaStreamCreate(IMediaStream stream)
              {
                      WMSLoggerFactory.getLogger(null).debug("onMediaStreamCreate: "+
                              stream.getSrc());
              }
      
              public void onMediaStreamDestroy(IMediaStream stream)
              {
                      WMSLoggerFactory.getLogger(null).debug("onMediaStreamDestroy: "+
                              stream.getSrc());
              }
      }
      appInstance.addMediaStreamListener(new MediaStreamListener());
      
      Parameters:
      mediaStreamListener - mediaStream listener
    • removeMediaStreamListener

      void removeMediaStreamListener(IMediaStreamNotify mediaStreamListener)
      Remove mediaStream listener. Listens for create and destroy
      Parameters:
      mediaStreamListener - mediaStream listener
    • addSharedObjectListener

      void addSharedObjectListener(ISharedObjectNotify sharedObjectListener, boolean isPersistent)
      Add sharedObject listener. Listens for create, destroy, clientConnect, clientDisconnect

      Add SharedObject Listener

      IApplicationInstance appInstance;
      
      class SharedObjectListener implements ISharedObjectNotify
      {
              public void onSharedObjectCreate(ISharedObject sharedObject)
              {
                      WMSLoggerFactory.getLogger(null).debug("onSharedObjectCreate: "+
                              sharedObject.getName());
              }
      
              public void onSharedObjectDestroy(ISharedObject sharedObject)
              {
                      WMSLoggerFactory.getLogger(null).debug("onSharedObjectDestroy: "+
                              sharedObject.getName());
              }
      
              public void onSharedObjectConnect(ISharedObject sharedObject, IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onSharedObjectConnect: "+
                              sharedObject.getName());
              }
      
              public void onSharedObjectDisconnect(ISharedObject sharedObject, IClient client)
              {
                      WMSLoggerFactory.getLogger(null).debug("onSharedObjectDisconnect: "+
                              sharedObject.getName());
              }
      }
      appInstance.addSharedObjectListener(new SharedObjectListener(), false);
      
      Parameters:
      sharedObjectListener - sharedObject listener
      isPersistent -
    • removeSharedObjectListener

      void removeSharedObjectListener(ISharedObjectNotify sharedObjectListener, boolean isPersistent)
      Remove sharedObject listener. Listens for create, destroy, clientConnect, clientDisconnect
      Parameters:
      sharedObjectListener - sharedObject listener
      isPersistent -
    • addMediaCasterListener

      void addMediaCasterListener(IMediaCasterNotify mediaCasterListener)
      Add mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
      Parameters:
      mediaCasterListener -
    • addMediaCasterListener

      void addMediaCasterListener(IMediaCasterNotify2 mediaCasterListener)
      Add mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
      Parameters:
      mediaCasterListener -
    • removeMediaCasterListener

      void removeMediaCasterListener(IMediaCasterNotify mediaCasterListener)
      Remove mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
      Parameters:
      mediaCasterListener -
    • getConnectionCounter

      ConnectionCounter getConnectionCounter()
      Get the connectionCounter for applicationInstance
      Returns:
      connection counter
    • getConnectionCounter

      com.wowza.wms.client.ConnectionCounterSimple getConnectionCounter(int counterIndex)
      Get the connectionCounter for applicationInstance for a specific technology (see IVHost.COUNTER_*)
      Parameters:
      counterIndex - counter index
      Returns:
      connection counter
    • getDateStarted

      String getDateStarted()
      Get date applcationInstance started
      Returns:
      date applcationInstance started
    • getTimeRunning

      String getTimeRunning()
      Get time applcationInstance running
      Returns:
      time applcationInstance running
    • getTimeRunningSeconds

      double getTimeRunningSeconds()
      Get time running in seconds
      Returns:
      time running in seconds
    • broadcastMsg

      void broadcastMsg(List<IClient> clientList, String handlerName)
      Broadcast a message to a specific list of clients connected to this application instance
      Parameters:
      clientList - list of client
      handlerName - handler name
    • broadcastMsg

      void broadcastMsg(List<IClient> clientList, String handlerName, Object... params)
      Broadcast a message to a specific list of clients connected to this application instance
      Parameters:
      clientList - list of client
      handlerName - handler name
      params - parameters
    • broadcastMsg

      void broadcastMsg(String handlerName, Object... params)
      Broadcast a message to all clients connected to this applicationInstance

      Broadcast Message to All Clients

      IApplicationInstance appInstance;
      appInstance.broadcastMsg("onNotify", "Hello World", 1.2345, false, new Date());
      
      Parameters:
      handlerName - handler name
      params - variable list of arguments (Java primitive and Strings will be wrapped in AMFData objects)
    • getIOPerformanceCounter

      IOPerformanceCounter getIOPerformanceCounter()
      Get the performance counter for applicationInstance
      Returns:
      io performance counter
    • getIOPerformanceCounter

      IOPerformanceCounter getIOPerformanceCounter(int counterIndex)
      Get the performance counter for applicationInstance for a specific technology (see IVHost.COUNTER_*)
      Parameters:
      counterIndex - counter index (see IVHost.COUNTER_*)
      Returns:
      connection counter
    • addPlayStreamByName

      void addPlayStreamByName(IMediaStream stream, String name)
      Add a media stream to the list of streams that are listening for a published stream
      Parameters:
      stream - media stream
      name - stream name
    • removePlayStreamByName

      void removePlayStreamByName(IMediaStream stream)
      Remove media stream from the list of streams that are listening for a published stream
      Parameters:
      stream - media stream
    • getPlayStreamCountsByName

      Map<String,Integer> getPlayStreamCountsByName()
      Get a map of stream names to number of Flash players playing the stream name
      Returns:
      map of stream names to number of Flash players playing the stream name
    • getPlayStreamCount

      int getPlayStreamCount(String streamName)
      Get the number of Flash players playing a given stream name
      Parameters:
      streamName - stream name
      Returns:
      number of players
    • getPlayStreamsByName

      List<IMediaStream> getPlayStreamsByName(String name)
      Get a list of media streams that are listening for published stream.
      Parameters:
      name - stream name
      Returns:
      list of streams or null if no listeners
    • getMediaCasterStreams

      MediaCasterStreamMap getMediaCasterStreams()
      Get the media caster streams attached to this application instance
      Returns:
      media caster streams attached to this application instance
    • getStreamCount

      int getStreamCount()
      Get the total number of open streams attached to this application instance
      Returns:
      the total number of open streams attached to this application instance
    • getModFunctions

      com.wowza.wms.module.ModuleFunctions getModFunctions()
      Get list of application modules
      Returns:
      list of application modules
    • addModuleListener

      void addModuleListener(IModuleNotify moduleListener)
      Add module listener. Listens for onModuleLoad and onModuleUnload events.
      Parameters:
      moduleListener - module listener
      See Also:
    • removeModuleListener

      void removeModuleListener(IModuleNotify moduleListener)
      Remove module listener
      Parameters:
      moduleListener - module listener
    • getModuleList

      com.wowza.wms.module.ModuleList getModuleList()
      Get the list of loaded modules.
      Returns:
      list of loaded modules
    • getModuleInstance

      Object getModuleInstance(String name)
      Get the instance of the module class for this application instance.
      Parameters:
      name - module name as defined in Application.xml
      Returns:
      instance of class for this application instance
    • getApplicationTimeout

      int getApplicationTimeout()
      Get application timeout (milliseconds)
      Returns:
      application timeout (milliseconds)
    • setApplicationTimeout

      void setApplicationTimeout(int applicationTimeout)
      Set application timeout (milliseconds)
      Parameters:
      applicationTimeout - application timeout (milliseconds)
    • getPingTimeout

      int getPingTimeout()
      Get ping timeout (milliseconds)
      Returns:
      ping timeout (milliseconds)
    • setPingTimeout

      void setPingTimeout(int pingTimeout)
      Set ping timeout (millseconds)
      Parameters:
      pingTimeout - ping timeout (millseconds)
    • getValidationFrequency

      int getValidationFrequency()
      Get time between validation pings (milliseconds)
      Returns:
      time between validation pings (milliseconds)
    • setValidationFrequency

      void setValidationFrequency(int validationFrequency)
      Set time between validation pings (milliseconds)
      Parameters:
      validationFrequency - time between validation pings (milliseconds)
    • getMaximumPendingWriteBytes

      int getMaximumPendingWriteBytes()
      Get maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to zero this feature is turned off.
      Returns:
      maximum number a bytes a client connection can have waiting to be sent before the connection is terminated
    • setMaximumPendingWriteBytes

      void setMaximumPendingWriteBytes(int maximumPendingWriteBytes)
      Set maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to zero this feature is turned off.
      Parameters:
      maximumPendingWriteBytes - maximum number a bytes a client connection can have waiting to be sent before the connection is terminated
    • getMaximumPendingReadBytes

      int getMaximumPendingReadBytes()
      Set maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to zero this feature is off.
      Returns:
      maximum number of bytes a client connection can have waiting to be written before the connection is terminated
    • setMaximumPendingReadBytes

      void setMaximumPendingReadBytes(int maximumPendingReaderBytes)
      Get maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to zero this feature is off.
      Parameters:
      maximumPendingReaderBytes - maximum number of bytes a client connection can have waiting to be written before the connection is terminated
    • setMaximumSetBufferTime

      void setMaximumSetBufferTime(int maximumSetBufferTime)
      Set maximum number of milliseconds allowed for the NetStream.setBufferTime(secs) call. If set to zero this feature is turned off.
      Parameters:
      maximumSetBufferTime - maximum number of milliseconds allowed for the NetStream.setBufferTime(secs) call
    • getMaximumSetBufferTime

      int getMaximumSetBufferTime()
      Get maximum number of milliseconds allowed for the NetStream.setBufferTime(secs) call. If set to zero this feature is turned off.
      Returns:
      maximum number of milliseconds allowed for the NetStream.setBufferTime(secs) call
    • getRepeaterOriginUrl

      String getRepeaterOriginUrl()
      Get the Repeater Origin URL used by the Live Stream Repeater
      Returns:
      URL used by the Live Stream Repeater
    • setRepeaterOriginUrl

      void setRepeaterOriginUrl(String repeaterOriginUrl)
      Set the Repeater Origin URL used by the Live Stream Repeater
      Parameters:
      repeaterOriginUrl - URL used by the Live Stream Repeater
    • getRepeaterQueryString

      String getRepeaterQueryString()
      Get the Repeater query string that is used to connect to the origin. This value can be used to pass secure URL parameters to the origin for security validation.
      Returns:
      Repeater query string
    • setRepeaterQueryString

      void setRepeaterQueryString(String repeaterQueryString)
      Set the Repeater query string that is used to connect to the origin. This value can be used to pass secure URL parameters to the origin for security validation.
      Parameters:
      repeaterQueryString - Repeater query string
    • getAllowDomains

      String[] getAllowDomains()
      Get the list of domain names used to control access to this application. Upon connection, if this list is non-null the client.referrer value is checked to make sure the referrer is from a domain in this list.
      Returns:
      list of domain names used to control access to this application
    • setAllowDomains

      void setAllowDomains(String[] domainFilter)
      Set the list of domain names used to control access to this application. Upon connection, if this list is non-null the client.referrer value is checked to make sure the referrer is from a domain in this list.
      Parameters:
      domainFilter - list of domain names used to control access to this application
    • parseAllowDomains

      void parseAllowDomains(String domainFilterStr)
      Parse a comma delimited list of domain names used to control access to this application. Upon connection, if this list is non-null the client.referrer value is checked to make sure the referrer is from a domain in this list.
      Parameters:
      domainFilterStr - comma delimited list of domain names
    • getClientIdleFrequency

      int getClientIdleFrequency()
      Get default client idle frequency (milliseconds)
      Returns:
      default client idle frequency (milliseconds)
    • setClientIdleFrequency

      void setClientIdleFrequency(int clientIdleFrequency)
      Set default client idle frequency (milliseconds)
      Parameters:
      clientIdleFrequency - default client idle frequency (milliseconds)
    • getRTPIdleFrequency

      int getRTPIdleFrequency()
      Set the default RTP idle frequency (milliseconds)
      Returns:
      default RTP idle frequency (milliseconds)
    • setRTPIdleFrequency

      void setRTPIdleFrequency(int rtspIdleFrequency)
      Get the default RTP idle frequency (milliseconds)
      Parameters:
      rtspIdleFrequency - default RTP idle frequency (milliseconds)
    • getStreamStorageDir

      String getStreamStorageDir()
      Get stream storage path
      Returns:
      stream storage path
    • setStreamStorageDir

      void setStreamStorageDir(String streamStorageDir)
      Set stream storage path
      Parameters:
      streamStorageDir - stream storage path
    • getStreamKeyDir

      String getStreamKeyDir()
      Get the stream key path
      Returns:
      stream key path
    • setStreamKeyDir

      void setStreamKeyDir(String keyStorageDir)
      Set the stream key path
      Parameters:
      keyStorageDir - stream key path
    • getRsoStorageDir

      String getRsoStorageDir()
      Get remote shared object storage path
      Returns:
      remote shared object storage path
    • setRsoStorageDir

      void setRsoStorageDir(String rsoStorageDir)
      Set remote shared object storage path
      Parameters:
      rsoStorageDir - remote shared object storage path
    • getStreamKeyPath

      String getStreamKeyPath()
      Get the resolved key path to the MediaStreams encryption keys
      Returns:
      resolved key path to the MediaStreams encryption keys
    • getStreamStoragePath

      String getStreamStoragePath()
      Get the resolved storage path to the MediaStreams
      Returns:
      resolved storage path to the MediaStreams
    • getRsoStoragePath

      String getRsoStoragePath()
      Get the resolved storage path to the shared objects
      Returns:
      resolved storage path to the shared objects
    • getStreamVideoSampleAccess

      String getStreamVideoSampleAccess()
      Get the default stream video sample access
      Returns:
      default stream video sample access
      See Also:
    • setStreamVideoSampleAccess

      void setStreamVideoSampleAccess(String streamVideoSampleAccess)
      Set the default stream video sample access
      Parameters:
      streamVideoSampleAccess - default stream video sample access
      See Also:
    • getStreamAudioSampleAccess

      String getStreamAudioSampleAccess()
      Get the default stream audio sample access
      Returns:
      default stream audio sample access
      See Also:
    • setStreamAudioSampleAccess

      void setStreamAudioSampleAccess(String streamAudioSampleAccess)
      Set the default stream audio sample access
      Parameters:
      streamAudioSampleAccess -
      See Also:
    • getStreamReadAccess

      String getStreamReadAccess()
      Get the default stream read access
      Returns:
      default stream read access
      See Also:
    • setStreamReadAccess

      void setStreamReadAccess(String streamReadAccess)
      Set the default stream read access
      Parameters:
      streamReadAccess - default stream read access
      See Also:
    • getStreamWriteAccess

      String getStreamWriteAccess()
      Get the default stream write access
      Returns:
      default stream write access
      See Also:
    • setStreamWriteAccess

      void setStreamWriteAccess(String streamWriteAccess)
      Set the default stream write access
      Parameters:
      streamWriteAccess - default stream write access
      See Also:
    • getSharedObjectReadAccess

      String getSharedObjectReadAccess()
      Get the default shared object read access
      Returns:
      default shared object read access
      See Also:
    • setSharedObjectReadAccess

      void setSharedObjectReadAccess(String sharedObjectReadAccess)
      Set the default shared object read access
      Parameters:
      sharedObjectReadAccess - default shared object read access
      See Also:
    • getSharedObjectWriteAccess

      String getSharedObjectWriteAccess()
      Get the default shared object write access
      Returns:
      default shared object write access
      See Also:
    • setSharedObjectWriteAccess

      void setSharedObjectWriteAccess(String sharedObjectWriteAccess)
      Set the default shared object write access
      Parameters:
      sharedObjectWriteAccess - default shared object write access
      See Also:
    • getRTPPublishAuthenticationMethod

      String getRTPPublishAuthenticationMethod()
      Get the RTP publish authentication method (as defined in conf/Authentication.xml)
      Returns:
      RTP publish authentication method
    • setRTPPublishAuthenticationMethod

      void setRTPPublishAuthenticationMethod(String rtpPublishAuthenticationMethod)
      Set the RTP publish authentication method (as defined in conf/Authentication.xml)
      Parameters:
      rtpPublishAuthenticationMethod - RTP publish authentication method
    • getRTPPlayAuthenticationMethod

      String getRTPPlayAuthenticationMethod()
      Get the RTP play authentication method (as defined in conf/Authentication.xml)
      Returns:
      RTP play authentication method
    • setRTPPlayAuthenticationMethod

      void setRTPPlayAuthenticationMethod(String rtpPlayAuthenticationMethod)
      Set the RTP play authentication method (as defined in conf/Authentication.xml)
      Parameters:
      rtpPlayAuthenticationMethod - RTP play authentication method
    • getRTPAVSyncMethod

      int getRTPAVSyncMethod()
      Get RTP audio/video sync method (RTPStream.AVSYNCMETHODS_SENDERREPORT, RTPStream.AVSYNCMETHODS_SYSTEMCLOCK, RTPStream.AVSYNCMETHODS_RTPTIMECODE)
      Returns:
      RTP audio/video sync method
    • setRTPAVSyncMethod

      void setRTPAVSyncMethod(int rtpAVSyncMethod)
      Set RTP audio/video sync method (RTPStream.AVSYNCMETHODS_SENDERREPORT, RTPStream.AVSYNCMETHODS_SYSTEMCLOCK, RTPStream.AVSYNCMETHODS_RTPTIMECODE)
      Parameters:
      rtpAVSyncMethod - RTP audio/video sync method
    • getRTPMaxRTCPWaitTime

      int getRTPMaxRTCPWaitTime()
      Get the maximum time to wait for RTCP packets (milliseconds)
      Returns:
      maximum time to wait for RTCP packets (milliseconds)
    • setRTPMaxRTCPWaitTime

      void setRTPMaxRTCPWaitTime(int rtpMaxRTCPWaitTime)
      Set the maximum time to wait for RTCP packets (milliseconds)
      Parameters:
      rtpMaxRTCPWaitTime - maximum time to wait for RTCP packets (milliseconds)
    • getRTPSessions

      List<RTPSession> getRTPSessions(String streamName)
      Get a list of RTP sessions running under this application instance playing a given stream name
      Parameters:
      streamName - stream name
      Returns:
      list of RTP sessions running under this application instance playing a given stream name
    • getRTPSessions

      List<RTPSession> getRTPSessions()
      Get a list of RTP sessions running under this application instance
      Returns:
      list of RTP sessions running under this application instance
    • getRTPSessionCountsByName

      Map<String,Integer> getRTPSessionCountsByName()
      Get a map of stream names and session counts of RTP sessions
      Returns:
      map of stream names and session counts
    • getRTPSessionCount

      int getRTPSessionCount(String streamName)
      Get the number of RTP player streams playing a given stream name
      Parameters:
      streamName - strean name
      Returns:
      the number of RTP sessions
    • getRTPSessionCount

      int getRTPSessionCount()
      Get the number of RTP sessions running under this application instance
      Returns:
      the number of RTP sessions running under this application instance
    • addRTPSession

      void addRTPSession(RTPSession rtpSession)
      Add an RTP session to this application instance
      Parameters:
      rtpSession - RTP session to add
    • registerPlayRTPSession

      void registerPlayRTPSession(RTPSession rtpSession)
      Register an RTP session as a play session
      Parameters:
      rtpSession - RTP session to register
    • removeRTPSession

      void removeRTPSession(RTPSession rtpSession)
      Remove an RTP session from this application instance
      Parameters:
      rtpSession - RTP session to remove
    • getClientsLockObj

      edu.emory.mathcs.backport.java.util.concurrent.locks.WMSReadWriteLock getClientsLockObj()
      Get the read/write lock for this application instance
      Returns:
      read/write lock for this application instance
    • getStreamProperties

      WMSProperties getStreamProperties()
      Get the property collection of stream settings that are specific to this application instance
      Returns:
      property collection of stream settings
    • getMediaCasterProperties

      WMSProperties getMediaCasterProperties()
      Get the property collection of media caster settings that are specific to this application instance
      Returns:
      property collection of media caster settings
    • getMediaReaderProperties

      WMSProperties getMediaReaderProperties()
      Get the property collection of media reader settings that are specific to this application instance
      Returns:
      property collection of media reader settings
    • getMediaWriterProperties

      WMSProperties getMediaWriterProperties()
      Get the property collection of media reader settings that are specific to this application instance
      Returns:
      property collection of media reader settings
    • getRTPProperties

      WMSProperties getRTPProperties()
      Get the property collection of RTP settings that are specific to this application instance
      Returns:
      property collection of RTP settings
    • getLiveStreamPacketizerProperties

      WMSProperties getLiveStreamPacketizerProperties()
      Get the property collection of LiveStreamPacketizer settings that are specific to this application instance
      Returns:
      property collection of LiveStreamPacketizer settings
    • getTranscoderProperties

      WMSProperties getTranscoderProperties()
      Get the property collection of Transcoder settings that are specific to this application instance
      Returns:
      property collection of Transcoder settings
    • getHTTPStreamerProperties

      WMSProperties getHTTPStreamerProperties()
      Get the property collection of HTTPStreamer settings that are specific to this application instance
      Returns:
      property collection of HTTPStreamer settings
    • getWebRTCProperties

      WMSProperties getWebRTCProperties()
      Get the property collection of WebRTC settings that are specific to this application instance
      Returns:
      property collection of WebRTC settings
    • getMaxStorageDirDepth

      int getMaxStorageDirDepth()
      Maximum folder depth allowed for the StreamStorageDir and SharedObjectStorageDir paths
      Returns:
      folder depth
    • setMaxStorageDirDepth

      void setMaxStorageDirDepth(int maxStorageDirDepth)
      Maximum folder depth allowed for the StreamStorageDir and SharedObjectStorageDir paths
      Parameters:
      maxStorageDirDepth - folder depth
    • getStreamFileMapper

      IMediaStreamFileMapper getStreamFileMapper()
      Get the stream file mapper.
      Returns:
      streamFileMapper stream file mapper
      See Also:
    • setStreamFileMapper

      void setStreamFileMapper(IMediaStreamFileMapper streamFileMapper)
      Set the stream file mapper.
      Parameters:
      streamFileMapper - stream file mapper
      See Also:
    • decodeStorageDir

      String decodeStorageDir(String storageDir)
      This function will take a storage path that uses variables and expand the variables based on the context. It supports the following variables (as well as any system variables): ${com.wowza.wms.AppHome}: Application home directory ${com.wowza.wms.ConfigHome}: Configuration home directory ${com.wowza.wms.context.VHostConfigHome}: Virtual configuration path ${com.wowza.wms.context.VHost}: Virtual host name ${com.wowza.wms.context.Application}: Application name ${com.wowza.wms.context.ApplicationInstance}: Application instance name
    • getLiveStreamPacketizerList

      String getLiveStreamPacketizerList()
      Get the comma separated list of LiveStreamPacketizers names being used by this application (see conf/LiveStreamPacketizers.xml)
      Returns:
      comma separated list of LiveStreamPacketizers names
    • getHTTPStreamerList

      String getHTTPStreamerList()
      Get the comma separated list of HTTPStreamers names being used by this application (see conf/HTTPStreamers.xml)
      Returns:
      comma separated list of HTTPStreamers names
    • setLiveStreamPacketizerList

      void setLiveStreamPacketizerList(String liveStreamPacketizerList)
      Set the comma separated list of LiveStreamPacketizers names being used by this application (see conf/LiveStreamPacketizers.xml)
      Parameters:
      liveStreamPacketizerList - comma separated list of LiveStreamPacketizers names
    • setHTTPStreamerList

      void setHTTPStreamerList(String httpStreamerList)
      Set the comma separated list of HTTPStreamer names being used by this application (see conf/HTTPStreamers.xml)
      Parameters:
      httpStreamerList - comma separated list of HTTPStreamer names
    • containsHTTPStreamer

      boolean containsHTTPStreamer(String httpStreamer)
      Does this application instance allow streaming of a given HTTPStreamer
      Parameters:
      httpStreamer - HTTP Streamer name
      Returns:
      true is this type of streaming is allowed
    • containsLiveStreamPacketizer

      boolean containsLiveStreamPacketizer(String liveStreamPacketizer)
      Does this application instance contain a references to this live stream packetizer. If it is true we consider this a live stream source for the HTTP streamer. If false then we consider this a video on demand source.
      Parameters:
      liveStreamPacketizer - live stream packetizer name
      Returns:
      true if contains reference to it
    • containsDvrRecorder

      boolean containsDvrRecorder(String dvrRecorder)
      Does this application instance contain a references to this DVR recorder. If it is true we consider this a DVR source for the HTTP streamer.
      Parameters:
      dvrRecorder - DVR recorder name
      Returns:
      true if contains reference to it
    • getVODTimedTextProviderList

      String getVODTimedTextProviderList()
      Get the comma separated list of VODTimedTextProvider names being used by this application (see conf/TimedTextProviders.xml)
      Returns:
      comma separated list of VODTimedTextProvider names
    • setVODTimedTextProviderList

      void setVODTimedTextProviderList(String timedTextProviderList)
      Set the comma separated list of VODTimedTextProvider names being used by this application (see conf/TimedTextProviders.xml)
      Parameters:
      timedTextProviderList - comma separated list of VODTimedTextProvider names
    • getVODTimedTextProviderSet

      List<String> getVODTimedTextProviderSet()
    • getTimedTextProperties

      WMSProperties getTimedTextProperties()
      Get the property collection of timed text settings that are specific to this application instance. These are defined in Application/TimedText/Properties tag in Application.xml
      Returns:
      property collection of Timed Text settings
    • getStreamNameAliasProvider

      IMediaStreamNameAliasProvider getStreamNameAliasProvider()
      Get the stream name alias provider
      Returns:
      stream name alias provider
    • setStreamNameAliasProvider

      void setStreamNameAliasProvider(IMediaStreamNameAliasProvider streamNameAliasProvider)
      Set the stream name alias provider
      Parameters:
      streamNameAliasProvider - stream name alias provider
    • getPublishers

      List<Publisher> getPublishers()
      Get the set of server side publishers
      Returns:
      set of server side publishers
    • getPublisherCount

      int getPublisherCount()
      Get the current number of server side publishers
      Returns:
      number of server side publishers
    • addPublisher

      void addPublisher(Publisher publisher)
      Add a server side publisher to this application instance
      Parameters:
      publisher - server side publisher
    • removePublisher

      void removePublisher(Publisher publisher)
      Remove a server side publisher from this application instance
      Parameters:
      publisher - server side publisher
    • getHTTPStreamerSessions

      List<IHTTPStreamerSession> getHTTPStreamerSessions(int protocol, String streamName)
      Get the HTTPStreamerSessions associated with this application instance for a stream name by protocol. See (IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
      Parameters:
      protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
      streamName - stream name
      Returns:
      HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessions

      List<IHTTPStreamerSession> getHTTPStreamerSessions(String streamName)
      Get the HTTPStreamerSessions associated with this application instance for a stream name
      Parameters:
      streamName - stream name
      Returns:
      HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessionCountsByName

      Map<String,Integer> getHTTPStreamerSessionCountsByName(int protocol)
      Get a map of session counts by name for a given protocol
      Parameters:
      protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
      Returns:
      map of session counts by name
    • getHTTPStreamerSessionCount

      int getHTTPStreamerSessionCount(String streamName)
      Get the current number of HTTPStreamerSessions associated with this application instance and stream name
      Parameters:
      streamName - stream name
      Returns:
      number of HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessionCount

      int getHTTPStreamerSessionCount(int protocol, String streamName)
      Get the current number of HTTPStreamerSessions associated with this application instance and stream name by protocol . See (IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
      Parameters:
      protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
      streamName - stream name
      Returns:
      HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessions

      List<IHTTPStreamerSession> getHTTPStreamerSessions()
      Get the HTTPStreamerSessions associated with this application instance
      Returns:
      HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessions

      List<IHTTPStreamerSession> getHTTPStreamerSessions(int protocol)
      Get the HTTPStreamerSessions associated with this application instance by protocol. See (IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
      Parameters:
      protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
      Returns:
      HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessionCount

      int getHTTPStreamerSessionCount()
      Get the current number of HTTPStreamerSessions associated with this application instance
      Returns:
      current number of HTTPStreamerSessions associated with this application instance
    • getHTTPStreamerSessionCount

      int getHTTPStreamerSessionCount(int protocol)
      Get the current number of HTTPStreamerSessions associated with this application instance by protocol. See (IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
      Parameters:
      protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
      Returns:
      current number of HTTPStreamerSessions associated with this application instance
    • addHTTPStreamerSession

      void addHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
      Add a HTTPStreamerSession to this application instance
      Parameters:
      httpStreamerSession - HTTPStreamerSession
    • removeHTTPStreamerSession

      void removeHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
      Remove a HTTPStreamerSession from this application instance
      Parameters:
      httpStreamerSession - HTTPStreamerSession
    • getHTTPStreamerApplicationContext

      IHTTPStreamerApplicationContext getHTTPStreamerApplicationContext(String httpStreamName, boolean doCreate)
      Get the HTTPStreamer application context for a given HTTPStreamer adapter
      Parameters:
      httpStreamName - HTTPStreamer adapter name
      doCreate - create if it does not exist
      Returns:
      HTTPStreamer application context
    • addRTPIncomingDatagramPortRange

      void addRTPIncomingDatagramPortRange(int startPort, int endPort)
      Add a port range to the list of valid incoming RTP UDP ports
      Parameters:
      startPort - starting port number
      endPort - end port number
    • addRTPIncomingDatagramPortAll

      void addRTPIncomingDatagramPortAll()
      Allow all incoming RTP UDP ports for this application instance
    • isRTPIncomingDatagramPortValid

      boolean isRTPIncomingDatagramPortValid(int port)
      Check a port number to be sure it is a valid RTP UDP port for this application instance
      Parameters:
      port - port number
      Returns:
      true if the port is valid
    • readAppInstConfig

      String readAppInstConfig(String sName)
      Method to read xml config file..
    • writeAppInstConfig

      boolean writeAppInstConfig(String sName, String data)
      Method to write xml config file..
    • getLiveStreamPacketizerControl

      ILiveStreamPacketizerControl getLiveStreamPacketizerControl()
      Get the Live Stream Packetizer Controller. This class will get called each time a stream is to be packetized using the LiveStreamPacketizer mechanism.
      Returns:
      Live Stream Packetizer Controller
    • setLiveStreamPacketizerControl

      void setLiveStreamPacketizerControl(ILiveStreamPacketizerControl liveStreamPacketizerControl)
      Set the Live Stream Packetizer Contoller. This class will get called each time a stream is to be packetized using the LiveStreamPacketizer mechanism.
      Parameters:
      liveStreamPacketizerControl - Live Stream Packetizer Contoller
    • resetMediaCasterStream

      boolean resetMediaCasterStream(String streamName)
      Reset a media caster stream
      Parameters:
      streamName - stream name
      Returns:
      true if successful
    • resetMediaCasterStream

      boolean resetMediaCasterStream(String streamName, String streamExt)
      Reset a media caster stream
      Parameters:
      streamName - stream name
      streamExt - stream extension
      Returns:
      true if successful
    • startMediaCasterStream

      boolean startMediaCasterStream(String streamName, String streamExt, String mediaCasterType)
      Start a media caster stream
      Parameters:
      streamName - stream name
      streamExt - stream extension
      mediaCasterType - media caster stream type
      Returns:
      true if successful
    • startMediaCasterStream

      boolean startMediaCasterStream(String streamName, String mediaCasterType)
      Start a media caster stream
      Parameters:
      streamName - stream name
      mediaCasterType - media caster stream type
      Returns:
      true if successful
    • stopMediaCasterStream

      void stopMediaCasterStream(String streamName)
      Stop a media caster stream
      Parameters:
      streamName - stream name
    • getContextStr

      String getContextStr()
      Returns the application context string in the form [application]/[appInstance].
      Returns:
      application context string
    • getPublishStreamNames

      List<String> getPublishStreamNames()
      Get the list of live stream names currently being published.
      Returns:
      list of live stream names currently being published
    • addMediaWriterListener

      void addMediaWriterListener(IMediaWriterActionNotify listener)
      Add a MediaWriter listener class.
      Parameters:
      listener - MediaWriter listener class
      See Also:
    • removeMediaWriterListener

      void removeMediaWriterListener(IMediaWriterActionNotify listener)
      remove MediaWriter listener class.
      Parameters:
      listener - MediaWriter listener class
      See Also:
    • notifyMediaWriterOnWriteComplete

      void notifyMediaWriterOnWriteComplete(IMediaStream stream, File file)
      Notify all MediaWriter listeners of onWriteComplete
      Parameters:
      stream - media stream
      file - file that was written
    • notifyMediaWriterOnFLVAddMetadata

      void notifyMediaWriterOnFLVAddMetadata(IMediaStream stream, Map<String,Object> extraMetadata)
      Notify all MediaWriter listeners of onFLVAddMetadata
      Parameters:
      stream - media stream
      extraMetadata - meta to add to the file
    • addDvrConverterListener

      void addDvrConverterListener(com.wowza.wms.dvr.converter.IDvrConverterActionNotify listener)
      Add a DVRConverter listener class.
      Parameters:
      listener - DVRConverter listener class
      See Also:
      • IDvrConverterActionNotify
    • removeDvrConverterListener

      void removeDvrConverterListener(com.wowza.wms.dvr.converter.IDvrConverterActionNotify listener)
      Remove DVRConverter listener class.
      Parameters:
      listener - DVRConverter listener class
      See Also:
      • IDvrConverterActionNotify
    • notifyDvrConverterConversionComplete

      void notifyDvrConverterConversionComplete(IDvrStreamStore store, File file)
      Notify all DVRConverter listeners of conversion complete
      Parameters:
      store - the dvr store for which this action completed
      file - file handle that just got written
    • getMediaCasterValidator

      IMediaCasterValidateMediaCaster getMediaCasterValidator()
      Get the MediaCaster validator interface for this application instance
      Returns:
      MediaCaster validator interface
    • setMediaCasterValidator

      void setMediaCasterValidator(IMediaCasterValidateMediaCaster mediaCasterValidator)
      Set the MediaCaster validator interface for this application instance
      Parameters:
      mediaCasterValidator - MediaCaster validator interface
    • touch

      void touch()
      Touch the application instance so that it stays loaded for at least applicationInstanceTouchTimeout
    • getLastTouchTime

      long getLastTouchTime()
      Get the last time the instance was touched (milliseconds)
      Returns:
      last time the instance was touched (milliseconds)
    • getApplicationInstanceTouchTimeout

      int getApplicationInstanceTouchTimeout()
      Get the application instance touch timeout (milliseconds). Default is 5000.
      Returns:
      application instance touch timeout (milliseconds)
    • setApplicationInstanceTouchTimeout

      void setApplicationInstanceTouchTimeout(int applicationInstanceTouchTimeout)
      Set the application instance touch timeout (milliseconds). Default is 5000.
      Parameters:
      applicationInstanceTouchTimeout - application instance touch timeout (milliseconds)
    • getRTSPSessionTimeout

      int getRTSPSessionTimeout()
      Get the RTSP session timeout (milliseconds)
      Returns:
      RTSP session timeout (milliseconds)
    • setRTSPSessionTimeout

      void setRTSPSessionTimeout(int rtspSessionTimeout)
      Set the RTSP session timeout (milliseconds)
      Parameters:
      rtspSessionTimeout - RTSP session timeout (milliseconds)
    • getRTSPMaximumPendingWriteBytes

      int getRTSPMaximumPendingWriteBytes()
      Get the maximum number of pending write bytes for an RTSP session
      Returns:
      maximum number of pending write bytes for an RTSP session
    • setRTSPMaximumPendingWriteBytes

      void setRTSPMaximumPendingWriteBytes(int rtspMaximumPendingWriteBytes)
      Set the maximum number of pending write bytes for an RTSP session
      Parameters:
      rtspMaximumPendingWriteBytes - maximum number of pending write bytes for an RTSP session
    • addMediaReaderListener

      void addMediaReaderListener(IMediaReaderActionNotify mediaReaderListener)
      Add media reader listener.
      Parameters:
      mediaReaderListener - media reader listener
      See Also:
    • removeMediaReaderListener

      void removeMediaReaderListener(IMediaReaderActionNotify mediaReaderListener)
      Remove media reader listener.
      Parameters:
      mediaReaderListener - media reader listener
      See Also:
    • notifyMediaReaderCreate

      void notifyMediaReaderCreate(IMediaReader mediaReader)
      Notify media reader notifyMediaReaderCreate
      Parameters:
      mediaReader - media reader
    • notifyMediaReaderInit

      void notifyMediaReaderInit(IMediaReader mediaReader, IMediaStream stream)
      Notify media reader notifyMediaReaderInit
      Parameters:
      mediaReader - media reader
      stream - media stream
    • notifyMediaReaderOpen

      void notifyMediaReaderOpen(IMediaReader mediaReader, IMediaStream stream)
      Notify media reader notifyMediaReaderOpen
      Parameters:
      mediaReader - media reader
      stream - media stream
    • notifyMediaReaderExtractMetaData

      void notifyMediaReaderExtractMetaData(IMediaReader mediaReader, IMediaStream stream)
      Notify media reader notifyMediaReaderExtractMetaData
      Parameters:
      mediaReader - media reader
      stream - media stream
    • notifyMediaReaderClose

      void notifyMediaReaderClose(IMediaReader mediaReader, IMediaStream stream)
      Notify media reader notifyMediaReaderClose
      Parameters:
      mediaReader - media reader
      stream - media stream
    • getRTSPBindIpAddress

      String getRTSPBindIpAddress()
      Set the IP address to which UDP ports will be bound for RTSP/RTP sessions
      Returns:
      IP address to which UDP ports will be bound for RTSP/RTP sessions
    • setRTSPBindIpAddress

      void setRTSPBindIpAddress(String rtspBindIpAddress)
      Get the IP address to which UDP ports will be bound for RTSP/RTP sessions
      Parameters:
      rtspBindIpAddress - IP address to which UDP ports will be bound for RTSP/RTP sessions
    • getRTSPConnectionIpAddress

      String getRTSPConnectionIpAddress()
      Get the connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Returns:
      connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • setRTSPConnectionIpAddress

      void setRTSPConnectionIpAddress(String rtspConnectionIpAddress)
      Set the connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Parameters:
      rtspConnectionIpAddress - connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • getRTSPConnectionAddressType

      String getRTSPConnectionAddressType()
      Get the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Returns:
      the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • setRTSPConnectionAddressType

      void setRTSPConnectionAddressType(String rtspConnectionAddressType)
      Set the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Parameters:
      rtspConnectionAddressType -
    • getRTSPOriginIpAddress

      String getRTSPOriginIpAddress()
      Get the origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Returns:
      origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • setRTSPOriginIpAddress

      void setRTSPOriginIpAddress(String rtspOriginIpAddress)
      Set the origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Parameters:
      rtspOriginIpAddress - origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • getRTSPOriginAddressType

      String getRTSPOriginAddressType()
      Get the origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Returns:
      origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • setRTSPOriginAddressType

      void setRTSPOriginAddressType(String rtspOriginAddressType)
      Set the origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
      Parameters:
      rtspOriginAddressType - origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
    • addLiveStreamPacketizerListener

      void addLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify liveStreamPacketizerListener)
      Add a Live Stream Packetizer listener
      Parameters:
      liveStreamPacketizerListener - Live Stream Packetizer listener
      See Also:
    • removeLiveStreamPacketizerListener

      void removeLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify liveStreamPacketizerListener)
      Remove a Live Stream Packetizer listener
      Parameters:
      liveStreamPacketizerListener - Live Stream Packetizer listener
      See Also:
    • notifyLiveStreamPacketizerCreate

      void notifyLiveStreamPacketizerCreate(ILiveStreamPacketizer liveStreamPacketizer, String streamName)
      Notify Live Stream Packetizer Create
      Parameters:
      liveStreamPacketizer - Live Stream Packetizer listener
    • notifyLiveStreamPacketizerDestroy

      void notifyLiveStreamPacketizerDestroy(ILiveStreamPacketizer liveStreamPacketizer)
      Notify Live Stream Packetizer Destory
      Parameters:
      liveStreamPacketizer - Live Stream Packetizer listener
    • notifyLiveStreamPacketizerInit

      void notifyLiveStreamPacketizerInit(ILiveStreamPacketizer liveStreamPacketizer, String streamName)
      Notify Live Stream Packetizer Init
      Parameters:
      liveStreamPacketizer - Live Stream Packetizer listener
    • isValidateFMLEConnections

      boolean isValidateFMLEConnections()
      Returns true if validating FMLE connection (default is false)
      Returns:
      true if validating FMLE connection
    • setValidateFMLEConnections

      void setValidateFMLEConnections(boolean validateFMLEConnections)
      Returns true if validating FMLE connection (default is false)
      Parameters:
      validateFMLEConnections - true if validating FMLE connection
    • addLiveStreamTranscoderListener

      void addLiveStreamTranscoderListener(ILiveStreamTranscoderNotify liveStreamTranscoderListener)
      Add a live stream transcoder listener
      Parameters:
      liveStreamTranscoderListener - live stream transcoder listener
    • removeLiveStreamTranscoderListener

      void removeLiveStreamTranscoderListener(ILiveStreamTranscoderNotify liveStreamTranscoderListener)
      Remove a live stream transcoder listener
      Parameters:
      liveStreamTranscoderListener - live stream transcoder listener
    • notifyLiveStreamTranscoderCreate

      void notifyLiveStreamTranscoderCreate(ILiveStreamTranscoder liveStreamTranscoder, IMediaStream stream)
      Notify live stream transcoder create
      Parameters:
      liveStreamTranscoder - live stream transcoder
      stream - stream
    • notifyLiveStreamTranscoderDestroy

      void notifyLiveStreamTranscoderDestroy(ILiveStreamTranscoder liveStreamTranscoder, IMediaStream stream)
      Notify live stream transcoder destroy
      Parameters:
      liveStreamTranscoder - live stream transcoder
      stream - stream
    • notifyLiveStreamTranscoderInit

      void notifyLiveStreamTranscoderInit(ILiveStreamTranscoder liveStreamTranscoder, IMediaStream stream)
      Notify live stream transcoder init
      Parameters:
      liveStreamTranscoder - live stream transcoder
      stream - stream
    • containsLiveStreamTranscoder

      boolean containsLiveStreamTranscoder(String liveStreamTranscoder)
      Return true if this application instance contains the transcoder name
      Parameters:
      liveStreamTranscoder - transcoder name
      Returns:
      true if this application instance contains the transcoder name
    • getLiveStreamTranscoderList

      String getLiveStreamTranscoderList()
      Get comma separated list of transcoders to use for this application instance
      Returns:
      comma separated list of transcoders
    • setLiveStreamTranscoderList

      void setLiveStreamTranscoderList(String liveStreamTranscoderList)
      Set comma separated list of transcoders to use for this application instance
      Parameters:
      liveStreamTranscoderList - comma separated list of transcoders
    • getLiveStreamTranscoderControl

      ILiveStreamTranscoderControl getLiveStreamTranscoderControl()
      Get the Live Stream Transcoder Contoller. This class will get called each time a stream is to be transcoded using the LiveStreamTranscoder mechanism.
      Returns:
      Live Stream Transcoder Contoller
    • setLiveStreamTranscoderControl

      void setLiveStreamTranscoderControl(ILiveStreamTranscoderControl liveStreamTranscoderControl)
      Set the Live Stream Transcoder Contoller. This class will get called each time a stream is to be transcoded using the LiveStreamTranscoder mechanism.
      Parameters:
      liveStreamTranscoderControl - Live Stream Transcoder Contoller
    • getTranscoderApplicationContext

      com.wowza.wms.stream.livetranscoder.LiveStreamTranscoderApplicationContext getTranscoderApplicationContext()
      Get live stream transcoder application context
      Returns:
      live stream transcoder application context
    • getDvrProperties

      WMSProperties getDvrProperties()
      Get the property collection of DVR settings that are specific to this application instance. These are defined in Application/DVR/Properties tag in Application.xml
      Returns:
      property collection of DVR settings
    • getDvrApplicationContext

      com.wowza.wms.dvr.DvrApplicationContext getDvrApplicationContext()
      Get live stream dvr application context
      Returns:
      live stream dvr application context
    • getDvrConverter

      com.wowza.wms.dvr.DvrApplicationConverterContext getDvrConverter()
      Get dvr application converter context
      Returns:
      dvr application converter context
    • getLiveStreamDvrRecorderControl

      ILiveStreamDvrRecorderControl getLiveStreamDvrRecorderControl()
      Get the Live Stream DVR Recorder Controller. This class will get called each time a stream is to be DVR-ed.
      Returns:
      Live Stream DVR Controller
    • setLiveStreamDvrRecorderControl

      void setLiveStreamDvrRecorderControl(ILiveStreamDvrRecorderControl controller)
      Set the Live Stream DVR Controller.
      Parameters:
      controller - Live Stream DVR Controller
    • getDvrRecorderList

      String getDvrRecorderList()
      Get the comma separated list of Dvr Recorder names being used by this application (see conf/Dvr.xml)
      Returns:
      comma separated list of Dvr Recorder names
    • setDvrRecorderList

      void setDvrRecorderList(String recorderList)
      Set the comma separated list of Dvr Recorder names being used by this application (see conf/Dvr.xml)
      Parameters:
      recorderList - comma separated list of Dvr Recorder names
    • addDvrRecorderListener

      void addDvrRecorderListener(ILiveStreamDvrRecorderActionNotify listener)
      Add a Dvr Recorder listener
      Parameters:
      listener - Dvr Recorder listener
      See Also:
    • removeDvrRecorderListener

      void removeDvrRecorderListener(ILiveStreamDvrRecorderActionNotify listener)
      Remove a Dvr Recorder listener
      Parameters:
      listener - Dvr Recorder listener
      See Also:
    • notifyLiveStreamDvrRecorderCreate

      void notifyLiveStreamDvrRecorderCreate(ILiveStreamDvrRecorder dvr, String streamName)
      Notify Dvr Recorder Create
      Parameters:
      dvr - DVR Recorder listener
      streamName - stream Name
    • notifyLiveStreamDvrRecorderInit

      void notifyLiveStreamDvrRecorderInit(ILiveStreamDvrRecorder dvr, String streamName)
      Notify DVR Recorder has been initialized.
      Parameters:
      dvr - DVR Recorder listener * @param streamName stream Name
    • notifyLiveStreamDvrRecorderDestroy

      void notifyLiveStreamDvrRecorderDestroy(ILiveStreamDvrRecorder dvr)
      Notify DVR Recorder has been destroyed.
      Parameters:
      dvr - DVR Recorder listener
    • addDvrStreamManagerListener

      void addDvrStreamManagerListener(IDvrStreamManagerActionNotify listener)
      Add a Dvr Application Store Manager listener
      Parameters:
      listener - Dvr Application Store Manager listener
      See Also:
    • removeDvrStreamManagerListener

      void removeDvrStreamManagerListener(IDvrStreamManagerActionNotify listener)
      Remove a Dvr Application Store Manager listener
      Parameters:
      listener - Dvr Application Store Manager listener
      See Also:
    • notifyDvrStreamManagerCreate

      void notifyDvrStreamManagerCreate(IDvrStreamManager dvrStoreManager, String streamName)
      Notify listeners that Dvr Application Store Manager has been created.
      Parameters:
      dvrStoreManager - Dvr Application Store Manager
      streamName -
    • notifyDvrStreamManagerInit

      void notifyDvrStreamManagerInit(IDvrStreamManager dvrStoreManager)
      Notify listeners that Dvr Application Store Manager has been initialized.
      Parameters:
      dvrStoreManager - Dvr Application Store Manager
    • notifyDvrStreamManagerDestroy

      void notifyDvrStreamManagerDestroy(IDvrStreamManager dvrManager)
      Notify listeners that Dvr Application Store Manager has been destroyed.
      Parameters:
      dvrManager - Dvr Application Store Manager
    • getMediaReaderContentType

      int getMediaReaderContentType(String mediaType)
      Get the content type of a media stream name prefix (see IMediaReader.CONTENTTYPE_*)
      Parameters:
      mediaType - mediaType (such as flv or smil)
      Returns:
      content type (see IMediaReader.CONTENTTYPE_*)
    • getMediaListProvider

      IMediaListProvider getMediaListProvider()
      Get the current media list provider. The media list provider is used to resolve amlst:streamname requests to a media list (equivelent to a SMIL file).
      Returns:
      media list provider
    • setMediaListProvider

      void setMediaListProvider(IMediaListProvider mediaListProvider)
      Set the current media list provider. The media list provider is used to resolve amlst:streamname requests to a media list (equivelent to a SMIL file).
      Parameters:
      mediaListProvider - media list provider
    • getMediacasterRTPRTSPRTPTransportMode

      int getMediacasterRTPRTSPRTPTransportMode()
      RTP MediaCaster RTSP/RTP transport mode. See RTPMediaCaster.RTSPTRANSPORTMODE_*
      Returns:
      RTP MediaCaster RTSP/RTP transport mode
    • setMediacasterRTPRTSPRTPTransportMode

      void setMediacasterRTPRTSPRTPTransportMode(int mediacasterRTPRTSPRTPTransportMode)
      RTP MediaCaster RTSP/RTP transport mode. See RTPMediaCaster.RTSPTRANSPORTMODE_*
      Parameters:
      mediacasterRTPRTSPRTPTransportMode - RTP MediaCaster RTSP/RTP transport mode
    • getProtocolUsage

      boolean[] getProtocolUsage()
      Get the protocols in use by this application instance (see IApplicationInstance.PROTCOLUSAGE_*)
      Returns:
      protocols in use by this application instance (see IApplicationInstance.PROTCOLUSAGE_*)
    • getProtocolUsage

      void getProtocolUsage(boolean[] protocolsInUse)
      Get the protocols in use by this application instance (see IApplicationInstance.PROTCOLUSAGE_*)
    • isDebugAppTimeout

      boolean isDebugAppTimeout()
      If true appTimeout processing will be logged.
      Returns:
      true appTimeout processing will be logged
    • setDebugAppTimeout

      void setDebugAppTimeout(boolean debugAppTimeout)
      If true appTimeout processing will be logged.
      Parameters:
      debugAppTimeout - true appTimeout processing will be logged
    • addRTPListener

      void addRTPListener(IRTPSessionNotify rtpListener)
      Add listner to be notified of RTPSession create and destroy.
      Parameters:
      rtpListener - RTP listener
    • removeRTPListener

      void removeRTPListener(IRTPSessionNotify rtpListener)
      Remove listner to be notified of RTPSession create and destroy.
      Parameters:
      rtpListener - RTP listener
    • notifyRTPSessionCreate

      void notifyRTPSessionCreate(RTPSession rtpSession)
      Notify RTP session create
      Parameters:
      rtpSession - rtp session
    • notifyRTPSessionDestroy

      void notifyRTPSessionDestroy(RTPSession rtpSession)
      Notify RTP session destory
      Parameters:
      rtpSession - rtp session
    • addHTTPListener

      void addHTTPListener(IHTTPSessionNotify httpListener)
      Add listner to be notified of HTTPSession create and destroy.
      Parameters:
      httpListener - http listener
    • removeHTTPListener

      void removeHTTPListener(IHTTPSessionNotify httpListener)
      Remove listner to be notified of HTTPSession create and destroy.
      Parameters:
      httpListener - http listener
    • notifyHTTPSessionCreate

      void notifyHTTPSessionCreate(IHTTPStreamerSession httpSession)
      Notify HTTP session create
      Parameters:
      httpSession - HTTP session
    • notifyHTTPSessionDestroy

      void notifyHTTPSessionDestroy(IHTTPStreamerSession httpSession)
      Notify HTTP session destroy
      Parameters:
      httpSession - HTTP session
    • getMediaCacheFilters

      List<com.wowza.wms.mediacache.model.MediaCacheSourceFilter> getMediaCacheFilters()
      Get the list of allowed MediaCache sources.
      Returns:
      list of allowed MediaCache sources
    • isMediaCacheSourceAllowed

      boolean isMediaCacheSourceAllowed(String sourceName)
      Test to see if a MediaCache source name is allowed
      Parameters:
      sourceName - MediaCache source name
      Returns:
      true if allowed
    • getPushPublishSessions

      List<IPushPublishSession> getPushPublishSessions(IMediaStream stream)
      Get the current push publish sessions for a given IMediaStream
      Parameters:
      stream - stream
      Returns:
      push publish sessions
    • getPushPublishSessions

      List<IPushPublishSession> getPushPublishSessions()
      Get all active push publish sessions
      Returns:
      all active push publish sessions
    • addPushPublishSession

      void addPushPublishSession(IMediaStream stream, IPushPublishSession pushPublishSession)
      Add a push publish session to the list of active push publish sessions
      Parameters:
      stream - stream
      pushPublishSession - push publish session
    • removePushPublishSession

      void removePushPublishSession(IMediaStream stream, IPushPublishSession pushPublishSession)
      Remove a push publish session
      Parameters:
      stream - stream
      pushPublishSession - push publish session
    • removePushPublishSessions

      void removePushPublishSessions(IMediaStream stream)
      Remove all push publish sessions for a give stream
      Parameters:
      stream - stream
    • addPushPublishSessionListener

      void addPushPublishSessionListener(IPushPublishSessionNotify pushPublishSessionListener)
      Add a push publish session listener
      Parameters:
      pushPublishSessionListener - push publish session
      See Also:
    • removePushPublishSessionListener

      void removePushPublishSessionListener(IPushPublishSessionNotify pushPublishSessionListener)
      Remove a push publish session listener
      Parameters:
      pushPublishSessionListener - push publish session
      See Also:
    • notifyPushPublishSessionCreate

      void notifyPushPublishSessionCreate(String streamName, IMediaStream stream, IPushPublishSession pushPublishSession)
      Notify push publish session create
      Parameters:
      streamName - stream name
      stream - stream
      pushPublishSession - push publish session
    • notifyPushPublishSessionDestroy

      void notifyPushPublishSessionDestroy(String streamName, IMediaStream stream, IPushPublishSession pushPublishSession)
      Notify push publish session destroy
      Parameters:
      streamName - stream name
      stream - stream
      pushPublishSession - push publish session
    • getPushPublishSessionCount

      int getPushPublishSessionCount()
      Get the number of push publishing sessions.
      Returns:
      number of push publishing sessions
    • getStreamRecorderProperties

      WMSProperties getStreamRecorderProperties()
      Get the property collection of StreamRecorder settings that are specific to this application instance
      Returns:
      property collection of StreamRecorder settings
    • isLive

      boolean isLive()
      Returns true if the application stream type of the application instance is live
      Returns:
      true if the application stream type is live
    • getSourceControlSession

      ISourceControlSession getSourceControlSession(String streamName)
      Get the source control session for the given stream name
      Parameters:
      streamName - the stream name
      Returns:
      an ISourceControlSession for the stream provided or null if it doesn't exist
    • getSourceControlSessions

      List<ISourceControlSession> getSourceControlSessions()
      Get all active source control sessions
      Returns:
      List all active source control sessions
    • addSourceControlSession

      void addSourceControlSession(String streamName, ISourceControlSession sourceControlSession)
      Add a source control session to the list of active source control sessions associated with the given stream name
      Parameters:
      streamName - the stream name
      sourceControlSession - the source control session
    • removeSourceControlSession

      void removeSourceControlSession(String streamName)
      Remove the source control session for the given stream name from the application instance
      Parameters:
      streamName - the stream name
    • addSourceControlSessionListener

      void addSourceControlSessionListener(ISourceControlSessionNotify sourceControlSessionListener)
      Add a source control session listener
      Parameters:
      sourceControlSessionListener - source control session listener
      See Also:
    • removeSourceControlSessionListener

      void removeSourceControlSessionListener(ISourceControlSessionNotify sourceControlSessionListener)
      Remove the provided source control session listener from the list of source control session listeners
      Parameters:
      sourceControlSessionListener - source control session listener
      See Also:
    • notifySourceControlSessionCreate

      void notifySourceControlSessionCreate(String streamName, ISourceControlSession sourceControlSession)
      Notify source control session create
      Parameters:
      streamName - stream name
      sourceControlSession - the source control session that was just created
    • notifySourceControlSessionDestroy

      void notifySourceControlSessionDestroy(String streamName, ISourceControlSession sourceControlSession)
      Notify source control session destroy
      Parameters:
      streamName - stream name
      sourceControlSession - the source control session that is being destroyed
    • getSourceControlSessionCount

      int getSourceControlSessionCount()
      Get the number of source control sessions.
      Returns:
      number of source control sessions
    • getWebRTCApplicationContext

      com.wowza.wms.webrtc.model.WebRTCApplicationContext getWebRTCApplicationContext()
      Get the WebRTC application level context
      Returns:
      WebRTC application level context
    • getWebRTCSessions

      List<RTPSession> getWebRTCSessions()
      Get list of WebRTC sessions
      Returns:
      list of WebRTC sessions
    • getWebRTCSessions

      List<RTPSession> getWebRTCSessions(String streamName)
      Get list of WebRTC sessions by stream name
      Parameters:
      streamName - stream name
      Returns:
      list of WebRTC sessions by stream name
    • getWebRTCSessionCount

      int getWebRTCSessionCount()
      Get count of WebRTC sessions
      Returns:
      count of WebRTC sessions
    • getWebRTCSessionCount

      int getWebRTCSessionCount(String streamName)
      Get count of WebRTC sessions by stream name
      Parameters:
      streamName - stream name
      Returns:
      count of WebRTC sessions by stream name
    • getWebRTCSessionCountsByName

      Map<String,Integer> getWebRTCSessionCountsByName()
      Get a map of WebRTC sessions by stream name
      Returns:
      map of WebRTC sessions by stream name
    • resolvePlayAlias

      String resolvePlayAlias(String name)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, IClient client)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, ILiveStreamPacketizer liveStreamPacketizer)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, RTPSession rtpSession)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, IHTTPStreamerSession httpSession)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, com.wowza.wms.webrtc.model.WebRTCSession webrtcSession)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolvePlayAlias

      String resolvePlayAlias(String name, IWebSocketSession webSocket)
      Resolve the play alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolveStreamAlias

      String resolveStreamAlias(String name)
      Resolve the stream name alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolveStreamAlias

      String resolveStreamAlias(String name, IMediaCaster mediaCaster)
      Resolve the stream name alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolveStreamAlias

      String resolveStreamAlias(String name, IWebSocketSession webSocket)
      Resolve the stream name alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • resolveStreamAlias

      String resolveStreamAlias(String name, com.wowza.wms.webrtc.model.WebRTCSession webrtcSession)
      Resolve the stream name alias with this application's stream name alias provider
      Returns:
      a resolved stream name, or the name passed in if a stream name alias provider is not defined
    • addIOPerformance

      IOPerformanceCounter addIOPerformance(int counterIndex, IOPerformanceCounter totalIOPerformanceResult)
    • addIOPerformance

      IOPerformanceCounter addIOPerformance(IOPerformanceCounter ioPerformanceCounter)