Interface IApplicationInstance


  • public interface IApplicationInstance

    IApplicationInstance: public interface to ApplicationInstance object

    • Method Detail

      • 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

        java.util.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​(java.util.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​(java.util.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

        java.util.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

        java.util.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:
        IModuleNotify
      • 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:
        IClient.getStreamVideoSampleAccess()
      • setStreamVideoSampleAccess

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

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

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

        void setStreamReadAccess​(String streamReadAccess)
        Set the default stream read access
        Parameters:
        streamReadAccess - default stream read access
        See Also:
        IClient.setStreamReadAccess(java.lang.String)
      • getStreamWriteAccess

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

        void setStreamWriteAccess​(String streamWriteAccess)
        Set the default stream write access
        Parameters:
        streamWriteAccess - default stream write access
        See Also:
        IClient.setStreamWriteAccess(java.lang.String)
      • getSharedObjectReadAccess

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

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

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

        void setSharedObjectWriteAccess​(String sharedObjectWriteAccess)
        Set the default shared object write access
        Parameters:
        sharedObjectWriteAccess - default shared object write access
        See Also:
        IClient.setSharedObjectWriteAccess(java.lang.String)
      • 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

        java.util.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

        java.util.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

        java.util.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
      • 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

        java.util.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

        java.util.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

        java.util.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

        java.util.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

        java.util.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

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

        java.util.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

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

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

        void notifyMediaWriterOnFLVAddMetadata​(IMediaStream stream,
                                               java.util.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,
                                                  java.io.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
      • 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
      • 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
      • 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
      • 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

        java.util.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

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

        java.util.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:
        IPushPublishSessionNotify
      • removePushPublishSessionListener

        void removePushPublishSessionListener​(IPushPublishSessionNotify pushPublishSessionListener)
        Remove a push publish session listener
        Parameters:
        pushPublishSessionListener - push publish session
        See Also:
        IPushPublishSessionNotify
      • 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

        java.util.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:
        ISourceControlSessionNotify
      • 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:
        ISourceControlSessionNotify
      • 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

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

        java.util.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

        java.util.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