Extensions to video/broadcast for parental ratings errors
Support in HbbTV
Available since: HbbTV 1.0 (ETSI TS 102 796 V1.1.1, OIPF DAE V1.1)
Comment
Broadcast-related
For parental rating related errors or changes during playback of A/V content through the video/broadcast object an OITF SHALL support the following intrinsic event properties and corresponding DOM events for the video/broadcast object:
function onParentalRatingChange( String contentID, ParentalRatingCollection ratings, String DRMSystemID, Boolean blocked ) |
The function that is called whenever the parental rating of the content being played inside the embedded object changes. These events may occur at the start of a new content item, or during playback of a content item (e.g. during playback of linear TV content). The specified function is called with four arguments contentID, rating, DRMSystemID and blocked which are defined as follows: · String contentID – the content ID to which the parental rating change applies. If the event is generated by the DRM system, it SHALL be the unique identifier for that content in the context of the DRM system (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). Otherwise it MAY be null or undefined. · ParentalRatingCollection ratings – the parental ratings of the currently playing content. The ParentalRatingCollection object is defined in section 7.9. · String DRMSystemID – the DRM System ID of the DRM system that generated the event as defined by element DRMSystemID in section 3.3.2 of [OIPF_META2]. The value SHALL be null if the parental control is not enforced by a particular DRM system. · Boolean blocked – flag indicating whether consumption of the content is blocked by the parental control system as a result of the new parental rating value. |
function onParentalRatingError( String contentID, ParentalRatingCollection ratings, String DRMSystemID ) |
The function that is called when a parental rating error occurs during playback of A/V content inside the embedded object, and is triggered whenever one or more parental ratings are discovered and none of them are valid. A valid parental rating is defined as one which uses a parental rating scheme that is supported by the OITF and which has a parental rating value that is supported by the OITF. The specified function is called with three arguments contentID, rating, and DRMSystemID which are defined as follows: · String contentID – the content ID to which the parental rating error applies. If the event is generated by the DRM system, it SHALL be the unique identifier for that content in the context of the DRM system (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). Otherwise it MAY be null or undefined. · ParentalRatingCollection ratings – the parental ratings of the currently playing content. The ParentalRatingCollection object is defined in section 7.9. · String DRMSystemID – optional argument that specifies the DRM System ID of the DRM system that generated the event as defined by element DRMSystemID in section 3.3.2 of [OIPF_META2]. The value SHALL be null if the parental control is not enforced by a particular DRM system. |
Events
For the intrinsic events listed in the table below, a corresponding DOM event SHALL be generated, in the following manner:
Intrinsic event | Corresponding DOM event | DOM Event properties |
onParentalRatingChange | ParentalRatingChange | Bubbles: No Cancellable: No Context Info: contentID, ratings, DRMSystemID, blocked |
onParentalRatingError | ParentalRatingError | Bubbles: No Cancellable: No Context Info: contentID, ratings, DRMSystemID |
Note: the above DOM events are directly dispatched to the event target, and will not bubble nor capture. Applications SHOULD NOT rely on receiving a ParentalRatingError event during the bubbling or the capturing phase. The Applications that use DOM event handlers SHALL call the addEventListener() method on the video/broadcast object itself. The third parameter of addEventListener, i.e. “useCapture”, will be ignored.