DrmSupport

new DrmSupport()

A component that provides DRM support detection.

Extends

  • Component

Members

(static) DRM_CONFIG

Returns static DRM configuration matrix.

Methods

(async) check(optionsopt) → {Promise.<Object>}

Checks DRM and HDCP capabilities.

Parameters:
NameTypeAttributesDefaultDescription
optionsObject<optional>
{}

configuration options

Properties
NameTypeAttributesDefaultDescription
contentTypestring<optional>
'video/mp4; codecs="avc1.42E01E"'

video content type to test

initDataTypesArray.<string><optional>
['cenc']

initialization data types

Returns:

object containing supported levels and HDCP per vendor

Type: 
Promise.<Object>
Examples
player.drmSupport.check().then((results) => {
  console.log('DRM Support Results:', results);
  // Example output:
  // {
  //   widevine: { level: 'L1', hdcp: '2.2' },
  //   playReady: null,
  //   fairPlay: null,
  //   clearKey: { level: 'Supported', hdcp: null }
  // }
});
player.drmSupport().check({
  contentType: 'video/mp4; codecs="avc1.4d401e"',
  initDataTypes: ['cenc', 'keyids']
}).then((results) => {
  console.log('DRM Support Results:', results)
});

(async) checkVendor(vendor, levels, initDataTypes, contentType) → {Promise.<({level: string, hdcp: (string|null)}|null)>}

Tests robustness levels and HDCP for specific DRM vendor.

Parameters:
NameTypeDescription
vendorstring

key system identifier

levelsArray.<{robustness: string, label: string}>

array of robustness levels to test

initDataTypesArray.<string>

initialization data types

contentTypestring

video content type

Returns:

supported level and HDCP or null

Type: 
Promise.<({level: string, hdcp: (string|null)}|null)>

(async) findMaxHdcp(mediaKeys) → {Promise.<(string|null)>}

Iterates through HDCP versions to find maximum supported version.

Parameters:
NameTypeDescription
mediaKeysMediaKeys

instantiated MediaKeys object

Returns:

maximum usable HDCP version or null

Type: 
Promise.<(string|null)>

DrmSupport

new DrmSupport(player, optionsopt)

Creates an instance of DrmSupport.

Parameters:
NameTypeAttributesDefaultDescription
playerPlayer

the player instance

optionsObject<optional>
{}

the component options

Members

(static) DRM_CONFIG

Returns static DRM configuration matrix.

Methods

(async) check(optionsopt) → {Promise.<Object>}

Checks DRM and HDCP capabilities.

Parameters:
NameTypeAttributesDefaultDescription
optionsObject<optional>
{}

configuration options

Properties
NameTypeAttributesDefaultDescription
contentTypestring<optional>
'video/mp4; codecs="avc1.42E01E"'

video content type to test

initDataTypesArray.<string><optional>
['cenc']

initialization data types

Returns:

object containing supported levels and HDCP per vendor

Type: 
Promise.<Object>
Examples
player.drmSupport.check().then((results) => {
  console.log('DRM Support Results:', results);
  // Example output:
  // {
  //   widevine: { level: 'L1', hdcp: '2.2' },
  //   playReady: null,
  //   fairPlay: null,
  //   clearKey: { level: 'Supported', hdcp: null }
  // }
});
player.drmSupport().check({
  contentType: 'video/mp4; codecs="avc1.4d401e"',
  initDataTypes: ['cenc', 'keyids']
}).then((results) => {
  console.log('DRM Support Results:', results)
});

(async) checkVendor(vendor, levels, initDataTypes, contentType) → {Promise.<({level: string, hdcp: (string|null)}|null)>}

Tests robustness levels and HDCP for specific DRM vendor.

Parameters:
NameTypeDescription
vendorstring

key system identifier

levelsArray.<{robustness: string, label: string}>

array of robustness levels to test

initDataTypesArray.<string>

initialization data types

contentTypestring

video content type

Returns:

supported level and HDCP or null

Type: 
Promise.<({level: string, hdcp: (string|null)}|null)>

(async) findMaxHdcp(mediaKeys) → {Promise.<(string|null)>}

Iterates through HDCP versions to find maximum supported version.

Parameters:
NameTypeDescription
mediaKeysMediaKeys

instantiated MediaKeys object

Returns:

maximum usable HDCP version or null

Type: 
Promise.<(string|null)>