Extensions to A/V Control object for DRM rights errors
This section SHALL apply to OITF and/or server devices which have indicated support for DRM protection by providing one or more <drm> elements as specified in section 9.3.10:
|function onDRMRightsError( Integer errorState, String contentID, String DRMSystemID,
String rightsIssuerURL )
|The function that is called:
· Whenever a rights error occurs for the A/V content (no license, license invalid), which has led to blocking consumption of the content.
· Whenever a rights change occurs for the A/V content (license valid), which leads to unblocking the consumption of the content.
This may occur during playback, recording or timeshifting of DRM protected AV content.
The specified function is called with four arguments errorState, contentID, DRMSystemID and rightsIssuerURL which are defined as follows:
· Integer errorState – error code detailing the type of error:
0: no license, consumption of the content is blocked
1: invalid license, consumption of the content is blocked
2: valid license, consumption of the content is unblocked
· String contentID – the unique identifier of the protected content in the scope of the DRM system that raises the error (i.e. in the case of Marlin BB it is the Marlin contentID, in the case of CSPG-CI+ the value of this field is null).
· String DRMSystemID – DRMSystemID as defined by element DRMSystemID in Table 9 of section 3.3.2 of [OIPF_META2]. For example, for Marlin, the DRMSystemID value is “urn:dvb:casystemid:19188”.
· String rightsIssuerURL – optional element indicating the value of the rightsIssuerURL that can be used to non-silently obtain the rights for the content item currently being played for which this DRM error is generated, in cases whereby the rightsIssuerURL is known. Cases whereby the rightsIssuerURL is known include cases whereby the rightsIssuerURL has been extracted from the MPEG2_TS of the protected content, retrieved from the SD&S discovery record or from the associated BCG metadata. The corresponding rightsIssuerURL fields are defined in section 126.96.36.199 of [OIPF_CSP2] and in section 3.3.2 of [OIPF_META2] respectively. If different URLs are retrieved from the stream and the metadata, then the conflict resolution is implementation-dependent.
For the intrinsic events listed in the table below, a corresponding DOM event SHALL be generated in the following manner:
|Corresponding DOM event
|DOM Event properties
|Bubbles: No Cancellable: No Context Info: errorState, contentID, DRMSystemID, rightsIssuerURL
Note: the above DOM event is directly dispatched to the event target, and will not bubble nor capture. Applications SHOULD NOT rely on receiving a DRMRightsError event during the bubbling or the capturing phase. Applications that use DOM event handlers SHALL call the addEventListener() method on the CEA-2014 A/V Control object. The third parameter of addEventListener, i.e. “useCapture”, will be ignored.