1. Introduction
*This section is non-normative*
Media resources often contain one or more media-resource-specific tracks containing data that browsers don’t render, but want to expose to script to allow being dealt with.
TODO: ...
2. Security and privacy considerations
*This section is non-normative.*
TODO: ...
3. API
3.1. The DataCue interface
[Exposed =Window ]interface :
DataCue TextTrackCue {(
constructor double ,
startTime unrestricted double ,
endTime any ,
value optional DOMString );
type attribute any ;
value readonly attribute DOMString ; };
type
4. In-band event mappings
The following sections describe how various in-band message formats are mapped to the DataCue
API.
4.1. MPEG-DASH emsg
The emsg
data structure is defined in section 5.10.3.3 of [MPEGDASH]. Use of emsg within CMAF media is defined in section 7.4.5 of [MPEGCMAF].
There are two versions in use, version 0 and 1:
aligned(8) class DASHEventMessageBox extends FullBox ('emsg', version, flags = 0) { if (version == 0) { string scheme_id_uri; string value; unsigned int(32) timescale_v0; unsigned int(32) presentation_time_delta; unsigned int(32) event_duration; unsigned int(32) id; } else if (version == 1) { unsigned int(32) timescale_v1; unsigned int(64) presentation_time; unsigned int(32) event_duration; unsigned int(32) id; string scheme_id_uri; string value; } unsigned int(8) message_data[]; }
5. Examples
5.1. Application-generated DataCues
TODO: ...
5.2. In-band MPEG-DASH emsg events
TODO: ...
6. Acknowledgements
TODO: ...