Changes required to remove webSRT specifics. ************************* Changes to Section 4.8.9 ========================= Remove: "If the elements's track URL identifies a WebSRT resource, and the element's kind attribute is not in the metadata state, then the WebSRT file must be a WebSRT file using cue text." ========================= Replace: "If the elements's track URL identifies a WebSRT resource, then the charset attribute may be specified. If the attribute is set, its value must be a valid character encoding name, must be an ASCII case-insensitive match for the preferred MIME name for that encoding, and must match the character encoding of the WebSRT file. [IANACHARSET]" with: "If the elements's track URL identifies a timed text resource, then the charset attribute may be specified. If the attribute is set, its value must be a valid character encoding name, must be an ASCII case-insensitive match for the preferred MIME name for that encoding, and must match the character encoding of the referenced file. [IANACHARSET]" ************************* Changes to Section 4.8.10.8 ========================= Remove: "(e.g., for timed tracks based on WebSRT, the rules for updating the display of WebSRT timed tracks)." ************************* Changes to Section 4.8.10.10 ========================= Replace: "A writing direction, " with: "The primary writing direction, " ========================= Remove (to be defined in WebSRT): "If the writing direction is horizontal, then line position percentages are relative to the height of the video, and text position and size percentages are relative to the width of the video. Otherwise, line position percentages are relative to the width of the video, and text position and size percentages are relative to the height of the video." ========================= Remove: "(e.g. the WebSRT parser if the Content Type metadata is text/srt) " ========================= Remove: "(e.g., for WebSRT, the rules for updating the display of WebSRT timed tracks)." ========================= Remove (to be defined in WebSRT): "A snap-to-lines flag A boolean indicating whether the line's position is a line position (positioned to a multiple of the line dimensions of the first line of the cue), or whether it is a percentage of the dimension of the video." ========================= Remove (to be defined in WebSRT): "A line position Either a number giving the position of the lines of the cue, to be interpreted as defined by the writing direction and snap-to-lines flag of the cue, or the special value auto, which means the position is to depend on the other active tracks. A text position A number giving the position of the text of the cue within each line, to be interpreted as a percentage of the video, as defined by the writing direction." ========================= Remove (to be defined in WebSRT): "An alignment An alignment for the text of each line of the cue, either start alignment (the text is aligned towards its start side), middle alignment (the text is aligned centered between its start and end sides), end alignment (the text is aligned towards its end side). Which sides are the start and end sides depends on the Unicode bidirectional algorithm and the writing direction. [BIDI]" ========================= Remove : "(e.g., for timed tracks based on WebSRT, the rules for updating the display of WebSRT timed tracks)." ========================= Remove : "(so e.g. for cues from a WebSRT file, that would be the order in which the cues were listed in the file)" ************************* Remove section "4.8.10.10.4 Guidelines for exposing cues in various formats as timed track cues" in its entirety. ************************* interface TimedTrackCue ========================= Replace "[Constructor(in DOMString id, in double startTime, in double endTime, in DOMString text, in optional DOMString settings, in optional DOMString voice, in optional boolean pauseOnExit)]" with: [Constructor(in DOMString id, in double startTime, in double endTime, in DOMString text, in optional CueSettings settings, in optional DOMString voice, in optional boolean pauseOnExit)] ========================= Replace: " readonly attribute DOMString direction; readonly attribute boolean snapToLines; readonly attribute long linePosition; readonly attribute long textPosition; readonly attribute long size; readonly attribute DOMString alignment; " With: " readonly attribute CueSettings settings " where CueSettings is to be defined an apbstract base type which can be subclassed for specific timed text formats ========================= Replace: "The settings argument is a string in the format of WebSRT cue settings. If omitted, the empty string is assumed." With: "The settings argument is a sub class of the CueSettings type." ========================= Remove: "cue . snapToLines Returns true if the timed track cue snap-to-lines flag is set, false otherwise. cue . linePosition Returns the timed track cue line position. In the case of the value being auto, the appropriate default is returned. cue . textPosition Returns the timed track cue text position. cue . size Returns the timed track cue size. cue . alignment Returns a string representing the timed track cue alignment, as follows: If it is start alignment The string "start". If it is middle alignment The string "middle". If it is end alignment The string "end". " ========================= Replace: "Let cue's timed track cue text be the value of the text argument, and let the rules for its interpretation be the WebSRT cue text parsing rules, the WebSRT cue text rendering rules, and the WebSRT cue text DOM construction rules. Let cue's timed track cue writing direction be horizontal. Let cue's timed track cue snap-to-lines flag be true. Let cue's timed track cue line position be auto. Let cue's timed track cue text position be 50. Let cue's timed track cue size be 100. Let cue's timed track cue alignment be middle alignment. Let input be the string given by the settings argument. Let position be a pointer into input, initially pointing at the start of the string. Parse the WebSRT settings for cue." with "Let cue's timed track cue text be the value of the text argument. Let cue's settings be determined in a format specific manner from the settings argument " ========================= Remove: "The snapToLines attribute must return true if the timed track cue snap-to-lines flag of the timed track cue that the TimedTrackCue object represents is set; or false otherwise. The linePosition attribute must return the timed track cue line position of the timed track cue that the TimedTrackCue object represents, if that value is numeric. Otherwise, the value is the special value auto; if the timed track cue snap-to-lines flag of the timed track cue that the TimedTrackCue object represents is not set, the attribute must return the value 100; otherwise, it must return the value returned by the following algorithm: Let cue be the timed track cue that the TimedTrackCue object represents. If cue is not associated with a timed track, return -1 and abort these steps. Let track be the timed track that the cue is associated with. Let n be the number of timed tracks whose timed track mode is showing and that are in the media element's list of timed tracks before track. Return n. The textPosition attribute must return the timed track cue text position of the timed track cue that the TimedTrackCue object represents. The size attribute must return the timed track cue size of the timed track cue that the TimedTrackCue object represents. The alignment attribute must return the timed track cue alignment of the timed track cue that the TimedTrackCue object represents. " Remove: "(For example, for WebSRT, those rules are the WebSRT cue text parsing rules and the WebSRT cue text DOM construction rules.) " *********************** MutableTrack ========================= Replace: "Create a new timed track, and set its timed track kind to kind, its timed track label to label, its timed track language to language, its timed track readiness state to the timed track loaded state, its timed track mode to the timed track hidden mode, and its timed track list of cues to an empty list, associated with the rules for updating the display of WebSRT timed tracks as its rules for updating the timed track rendering." "Create a new timed track, and set its timed track kind to kind, its timed track label to label, its timed track language to language, its timed track readiness state to the timed track loaded state, its timed track mode to the timed track hidden mode, and its timed track list of cues to an empty list." *********************** TimedTrackCue