Interface StreamLinkConfiguration
-
public interface StreamLinkConfiguration
Interface that allows the configuration of StreamLink to be defined programmatically.
You can obtain an instance of this interface by calling {@link com.caplin.streamlink.StreamLinkFactory.createConfiguration()}.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StreamLinkConfiguration
addCustomAttribute(java.lang.String key, java.lang.String value)
Sets custom attributes.StreamLinkConfiguration
addLiberatorUrlGroup(java.lang.String... urls)
Adds a group of URLs that define possible Liberator connections.java.util.Map<java.lang.String,java.lang.String>
getCustomAttributes()
Gets a map of the customer attributes set on this StreamLink instance to.StreamLinkConfiguration
setApplicationId(java.lang.String applicationId)
Sets the application identifier.StreamLinkConfiguration
setClockOffsetInterval(int milliseconds)
Sets the interval between successive calculations of clock offset value(default 10000 milliseconds).StreamLinkConfiguration
setClockOffsetWindow(int milliseconds)
Sets the time a calculated clock offset is valid for use in producing statistics (default 120000 milliseconds).StreamLinkConfiguration
setDisablePolling(java.lang.Boolean disablePolling)
Set to true if you don't want to use polling connection when the rttp(s) protocol is specified.StreamLinkConfiguration
setDisableSseConnection(java.lang.Boolean disableSseConnection)
Set to true if you don't want to use server side events connection when the rttp(s) protocol is specified.StreamLinkConfiguration
setForeverFrameReconnectCount(int count)
Not used in this version of StreamLink.StreamLinkConfiguration
setHttpPadLength(int httpPadLength)
Sets the http pad length to be used for http and Forever Frame connections.StreamLinkConfiguration
setHttpTimeout(int timeout)
Sets the time allowed for an HTTP Request to finish successfully before StreamLink times out (default 3000 milliseconds).StreamLinkConfiguration
setInactivityTimeout(int milliseconds)
Maximum time in milliseconds that Liberator waits to receive messages from this StreamLink client.StreamLinkConfiguration
setJsonHandler(JsonHandler handler)
Sets a JsonHandler that will be used to parse and patch JSON objects.StreamLinkConfiguration
setKeymasterCookieProvider(KeymasterCookieProvider provider)
Sets a KeymasterCookieProvider that will provide the cookies used when making KeyMaster connections.StreamLinkConfiguration
setKeymasterHttpHeaderProvider(KeymasterHttpHeaderProvider provider)
Sets a KeymasterHttpHeaderProvider that will provide the http headers used when making KeyMaster connections.StreamLinkConfiguration
setKeymasterPollInterval(int interval)
Interval in milliseconds at which StreamLink will poll KeyMaster (on the KeyMaster poll URL) to keep the KeyMaster session open.StreamLinkConfiguration
setKeymasterPollResponseListener(KeymasterPollResponseListener keymasterPollListener)
Sets aKeymasterPollResponseListener
to receive information about responses to keep-alive requests made to KeyMaster.StreamLinkConfiguration
setKeymasterPollUrl(java.lang.String... url)
Sets the URL that StreamLink uses to check the connection to KeyMaster every KeyMaster poll interval milliseconds.StreamLinkConfiguration
setKeymasterUrl(java.lang.String... url)
Sets the URL of KeyMaster for secure authentication of Liberator login requests./p>StreamLinkConfiguration
setLatencyInterval(int milliseconds)
Sets the time between successive calculations of average latency (default 10000 milliseconds).StreamLinkConfiguration
setLatencyWindow(int milliseconds)
Sets the time for which a calculated latency value is valid for use in producing statistics (default 120000 milliseconds).StreamLinkConfiguration
setLiberatorUrlProvider(LiberatorUrlProvider provider)
Sets a LiberatorUrlProvider that will be used to get the next Liberator URL to connect to.StreamLinkConfiguration
setLogBufferSize(int size)
Sets the size of the log buffer to be used in Streamlink.StreamLinkConfiguration
setLogWindowLogLevel(LogLevel level)
Not used in this version of StreamLink.StreamLinkConfiguration
setLogWindowVisible(boolean show)
Not used in this version of StreamLink.StreamLinkConfiguration
setPassword(java.lang.String password)
Sets the Liberator login password to use if logins are not being managed by KeyMaster or a customCredentialsProvider
.StreamLinkConfiguration
setPollInterval(int milliseconds)
Sets the time interval in milliseconds between polls of the Liberator.StreamLinkConfiguration
setProxy(java.net.Proxy proxy)
Sets the proxy to be used for http(s) and poll(s) connection protocols.StreamLinkConfiguration
setReconnectCycleDelays(java.lang.Integer... milliseconds)
Delay in milliseconds before retrying, after failing to connect with all available connection options.StreamLinkConfiguration
setReconnectDelay(int milliseconds)
Delay in milliseconds before retrying, after failing to connect (default 1000 milliseconds).StreamLinkConfiguration
setRequestTimeout(int milliseconds)
Time in milliseconds allowed for the response to each command before StreamLink reconnects to the Liberator.StreamLinkConfiguration
setUsername(java.lang.String username)
Sets the Liberator login user-name to use if logins are not being managed by KeyMaster or a customCredentialsProvider
.
-
-
-
Method Detail
-
addCustomAttribute
StreamLinkConfiguration addCustomAttribute(java.lang.String key, java.lang.String value)
Sets custom attributes. These are recorded in StreamLink log files
- Parameters:
key
- The attribute name.value
- The attribute value.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setApplicationId
StreamLinkConfiguration setApplicationId(java.lang.String applicationId)
Sets the application identifier. This is used by the Caplin Platform to distinguish StreamLink requests from different client applications. It is recorded in StreamLink log files, and is used by Liberator in monitoring software licence compliance and by the Caplin Permissioning Service to restrict the applicability of permissioning rules to specific applications.
- Parameters:
applicationId
- The application identifier.- Returns:
- The current
StreamLinkConfiguration
instance.
-
addLiberatorUrlGroup
StreamLinkConfiguration addLiberatorUrlGroup(java.lang.String... urls)
Adds a group of URLs that define possible Liberator connections.
- Parameters:
urls
- A set of URLs defining a Liberator connection group.- Returns:
- The current
StreamLinkConfiguration
instance.For more information on defining Liberator URL groups see
StreamLinkFactory
and the "Resilience, failover, and load balancing" section of the StreamLink Overview.
-
setUsername
StreamLinkConfiguration setUsername(java.lang.String username)
Sets the Liberator login user-name to use if logins are not being managed by KeyMaster or a custom
CredentialsProvider
.- Parameters:
username
- The Liberator login user-name.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setPassword
StreamLinkConfiguration setPassword(java.lang.String password)
Sets the Liberator login password to use if logins are not being managed by KeyMaster or a custom
CredentialsProvider
.- Parameters:
password
- The Liberator login password.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setPollInterval
StreamLinkConfiguration setPollInterval(int milliseconds)
Sets the time interval in milliseconds between polls of the Liberator.
- Parameters:
milliseconds
- The poll interval.- Returns:
- The current
StreamLinkConfiguration
instance.This only applies to HTTP polling type connections (see 'RTTP connection types' in the document StreamLink Overview).
-
setForeverFrameReconnectCount
StreamLinkConfiguration setForeverFrameReconnectCount(int count)
Not used in this version of StreamLink.
-
setDisablePolling
StreamLinkConfiguration setDisablePolling(java.lang.Boolean disablePolling)
Set to true if you don't want to use polling connection when the rttp(s) protocol is specified.
- Parameters:
disablePolling
- Set to true to disable polling connection in rttp(s) protocol.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setDisableSseConnection
StreamLinkConfiguration setDisableSseConnection(java.lang.Boolean disableSseConnection)
Set to true if you don't want to use server side events connection when the rttp(s) protocol is specified.
- Parameters:
disablePolling
- Set to true to disable server side events connection in rttp(s) protocol.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setRequestTimeout
StreamLinkConfiguration setRequestTimeout(int milliseconds)
Time in milliseconds allowed for the response to each command before StreamLink reconnects to the Liberator.
- Parameters:
milliseconds
- The request timeout period in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setReconnectDelay
StreamLinkConfiguration setReconnectDelay(int milliseconds)
Delay in milliseconds before retrying, after failing to connect (default 1000 milliseconds).
- Parameters:
milliseconds
- The reconnect delay in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setReconnectCycleDelays
StreamLinkConfiguration setReconnectCycleDelays(java.lang.Integer... milliseconds)
Delay in milliseconds before retrying, after failing to connect with all available connection options. The entries are treated as a backoff where each entry is used once and the last entry is the delay that will keep getting used forever (default 2000, 4000, 8000, 16000 milliseconds).
- Parameters:
milliseconds
- Array of reconnect delays.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setClockOffsetInterval
StreamLinkConfiguration setClockOffsetInterval(int milliseconds)
Sets the interval between successive calculations of clock offset value(default 10000 milliseconds). For more information, see the
clock_offset_interval
JSON attribute incaplin.streamlink.StreamLinkFactory
.- Parameters:
milliseconds
- The clock offset interval in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setClockOffsetWindow
StreamLinkConfiguration setClockOffsetWindow(int milliseconds)
Sets the time a calculated clock offset is valid for use in producing statistics (default 120000 milliseconds). For more information, see the
clock_offset_window
JSON attribute incaplin.streamlink.StreamLinkFactory
.- Parameters:
milliseconds
- The clock offset window in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setLatencyInterval
StreamLinkConfiguration setLatencyInterval(int milliseconds)
Sets the time between successive calculations of average latency (default 10000 milliseconds). For more information, see the
latency_interval
JSON attribute incaplin.streamlink.StreamLinkFactory
.- Parameters:
milliseconds
- The latency interval in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setLatencyWindow
StreamLinkConfiguration setLatencyWindow(int milliseconds)
Sets the time for which a calculated latency value is valid for use in producing statistics (default 120000 milliseconds). For more information, see the
latency_window
JSON attribute incaplin.streamlink.StreamLinkFactory
.- Parameters:
milliseconds
- The latency window in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setHttpTimeout
StreamLinkConfiguration setHttpTimeout(int timeout)
Sets the time allowed for an HTTP Request to finish successfully before StreamLink times out (default 3000 milliseconds).
- Parameters:
timeout
- The timeout period in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setInactivityTimeout
StreamLinkConfiguration setInactivityTimeout(int milliseconds)
Maximum time in milliseconds that Liberator waits to receive messages from this StreamLink client.
If the Liberator fails to receive a message from StreamLink within this interval, it disconnects the session and waits for a reconnection attempt.
The clock offset between Liberator and StreamLink is determined periodically by StreamLink sending a message to the Liberator. It is therefore recommended that this option should be configured to be greater than the
ClockOffset
configuration value. If it is configured to be smaller, more reconnections than required will take place.Note: This feature is only supported by Liberator 6.0 and newer. To determine if your Liberator installation supports this feature, refer to the Liberator's release note.
- Parameters:
milliseconds
- The inactivity period in milliseconds.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterPollResponseListener
StreamLinkConfiguration setKeymasterPollResponseListener(KeymasterPollResponseListener keymasterPollListener)
Sets a
KeymasterPollResponseListener
to receive information about responses to keep-alive requests made to KeyMaster.- Parameters:
keymasterPollListener
- The implementation ofKeymasterPollResponseListener
.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterPollUrl
StreamLinkConfiguration setKeymasterPollUrl(java.lang.String... url)
Sets the URL that StreamLink uses to check the connection to KeyMaster every KeyMaster poll interval milliseconds.
- Parameters:
url
- The URL that StreamLink uses to check the connection.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterPollInterval
StreamLinkConfiguration setKeymasterPollInterval(int interval)
Interval in milliseconds at which StreamLink will poll KeyMaster (on the KeyMaster poll URL) to keep the KeyMaster session open.
- Parameters:
interval
- The interval in at which StreamLink will poll KeyMaster (default 600000 milliseconds).- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterUrl
StreamLinkConfiguration setKeymasterUrl(java.lang.String... url)
Sets the URL of KeyMaster for secure authentication of Liberator login requests./p>
- Parameters:
url
- The KeyMaster URL- Returns:
- The current
StreamLinkConfiguration
instance.
-
setLogWindowLogLevel
StreamLinkConfiguration setLogWindowLogLevel(LogLevel level)
Not used in this version of StreamLink.
-
setLogWindowVisible
StreamLinkConfiguration setLogWindowVisible(boolean show)
Not used in this version of StreamLink.
-
setProxy
StreamLinkConfiguration setProxy(java.net.Proxy proxy)
Sets the proxy to be used for http(s) and poll(s) connection protocols.
- Parameters:
proxy
- The proxy to be used.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setLogBufferSize
StreamLinkConfiguration setLogBufferSize(int size)
Sets the size of the log buffer to be used in Streamlink. If the size is less than or equal to 0, the log buffer will be disabled. (default -1).
- Parameters:
size
- The size of the log buffer to be used- Returns:
- The current
StreamLinkConfiguration
instance.
-
setHttpPadLength
StreamLinkConfiguration setHttpPadLength(int httpPadLength)
Sets the http pad length to be used for http and Forever Frame connections.
- Parameters:
proxy
- The pad length to be used.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setLiberatorUrlProvider
StreamLinkConfiguration setLiberatorUrlProvider(LiberatorUrlProvider provider)
Sets a LiberatorUrlProvider that will be used to get the next Liberator URL to connect to.
If this option is set then it will override any urls added via the addLiberatorUrlGroup method.
- Parameters:
provider
- the class that will provide the name of the next Liberator URL to try.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterCookieProvider
StreamLinkConfiguration setKeymasterCookieProvider(KeymasterCookieProvider provider)
Sets a KeymasterCookieProvider that will provide the cookies used when making KeyMaster connections.
- Parameters:
provider
- The class that will provide the set of cookies.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setKeymasterHttpHeaderProvider
StreamLinkConfiguration setKeymasterHttpHeaderProvider(KeymasterHttpHeaderProvider provider)
Sets a KeymasterHttpHeaderProvider that will provide the http headers used when making KeyMaster connections.
- Parameters:
provider
- The class that will provide the set of headers.- Returns:
- The current
StreamLinkConfiguration
instance.
-
setJsonHandler
StreamLinkConfiguration setJsonHandler(JsonHandler handler)
Sets a JsonHandler that will be used to parse and patch JSON objects.
- Parameters:
handler
- the class that implements the JsonHandler interface.
-
getCustomAttributes
java.util.Map<java.lang.String,java.lang.String> getCustomAttributes()
Gets a map of the customer attributes set on this StreamLink instance to.
- Returns:
- A read only reference to the custom attribute map
-
-