Playback: IP
The Playback.IP module provides access to IP-speciffic settings for Playback.
DRM
Call Playback.IP.setDrmVendor, Playback.IP.setDrmServer, Playback.IP.setDrmServerPort, and Playback.IP.setDrmCustomData to configure DRM.
Fast Channel Change
Call Playback.IP.setFccProvider, and Playback.IP.setFccServer to configure FCC.
Members
DrmVendor
Enum for DRM vendors.
Properties:
| Name | Type | Description |
|---|---|---|
| NONE | No DRM Vendor | |
| SECUREMEDIA | Secure Media | |
| VERIMATRIX | Verimatrix | |
| PLAYREADY | Playready | |
| IRDETO | Irdeto | |
| NSTV | NSTV | |
| CLEARKEY | ClearKey | |
| WIDEVINE | Widevine | |
| VERIMATRIX_ULTRA | Verimatrix Ultra |
FccProvider
Enum for Fast Channel Change Providers.
Properties:
| Name | Type | Description |
|---|---|---|
| NONE | No DRM Vendor | |
| QARVA | Qarva Provier |
Methods
getDrmEncryptionAlg(stream)
Get the Drm encryption algorithm.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - encryptionAlg: The latest set encryption algorithm. |
getDrmServer(stream)
Get the current Drm server url.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - server: The Drm server url. |
getDrmServerPort(stream)
Get the current Drm server port number.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - portNumber: The latest set port number. |
getDrmVendor(stream)
Get the DRM vendor which is currently be used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - vendor: The current DrmVendor. |
getFccProvider(stream)
Set the FCC provider which will be used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - provider: The current FccProvider. |
getFccServer(stream)
Get the FCC Server which is currently used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - server: The current FCC server. |
getSupportedDrmVendors(stream)
Get the available Drm installed on the system.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
Returns:
| Type | Description |
|---|---|
| A promise. | The completion handler will be passed the following arguments: - info: An array of objects with information about the IP player's supported DRM's. |
| Each object in the array corresponds to a different drm vendor. |
setBufferingOptions(stream, options)
Set the buffering options for a stream.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
options | Object | An object with the options we wish to set. The options object should have the following properties: - disableBuffering: A boolean which when set to true, disables buffering. - preRoll: An integer which sets the preroll time in milliseconds. - bufferLimitInitial: The amount of data in milliseconds that should be buffered when we start to play. - bufferLimitHigh: When we reach this level of buffered data (msecs) while we are buffering, we start play again. - bufferLimitLow: If we are under this threshold (msecs) we move from playing to buffering. In case any of the properties are set to zero or they are undefined, the underlying player will use its default values. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setDrmCustomData(stream, CustomData)
Inject DRM custom data when performing the license challenge to the server. This does not apply to all DRM types (schemes). The only known DRM scheme that can be applied to is MS Pleayready.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
CustomData | CustomData | The custom data to inject to the DRM server. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setDrmEncryptionAlg(stream, encryptionAlg)
The encryption algorithm to be used by the undelying Drm. Possible options are:
- aes-ecb
- dvb-csa2
- aes-cbc
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
encryptionAlg | uint | The encryption algorith used for this stream. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setDrmServer(stream, DrmServer)
The DRM server to be used for authentication/authorisation. In case the DRM server url is also embedded within the stream, this url will take precedence.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
DrmServer | DrmServer | The desired DRM server url (i.e. http://server). |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setDrmServerPort(stream, portNumber)
The DRM server to be used for authentication/authorisation. In case the DRM server url is also embedded within the stream, this url will take precedence.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
portNumber | uint | The desired DRM server port number. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setDrmVendor(stream, vendor)
Set the DRM vendor (scheme) which will be used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
vendor | DrmVendor | The desired DrmVendor. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setFccProvider(stream, provider)
Set the FCC provider which will be used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
provider | FCCProvider | The desired FccProvider. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |
setFccServer(stream, server, port)
Set the FCC Server which will be used.
Parameters:
| Name | Type | Description |
|---|---|---|
stream | Stream | The Stream object. |
server | String | The URL of the FCC Server. |
port | Number | The port of the FCC Server. |
Returns:
| Type | Description |
|---|---|
| A promise. | No arguments are passed to the completion handler. |