c# convert pdf to image free library : Extracting data from pdf forms control application platform web page azure wpf web browser print36-part2087

AnAudioTrackListp359
object represents a dynamic list of zero or more audio tracks, of which zero or more can be enabled at a time. Each
audio track is represented by anAudioTrackp360
object.
AVideoTrackListp360
object represents a dynamic list of zero or more video tracks, of which zero or one can be selected at a time. Each video
track is represented by aVideoTrackp360
object.
Tracks inAudioTrackListp359
andVideoTrackListp360
objects must be consistently ordered. If themedia resourcep334
is in a format that
defines an order, then that order must be used; otherwise, the order must be the relative order in which the tracks are declared in themedia
resourcep334
. The order used is called thenatural orderof the list.
TheAudioTrackList.lengthandVideoTrackList.lengthattributes must return the number of tracks represented by their objects at the
time of getting.
Thesupported property indices
ofAudioTrackListp359
andVideoTrackListp360
objects at any instant are the numbers from zero to the
number of tracks represented by the respective object minus one, if any tracks are represented. If anAudioTrackListp359
or
VideoTrackListp360
object represents no tracks, it has nosupported property indices
.
Todetermine the value of an indexed property
for a given indexindexin anAudioTrackListp359
orVideoTrackListp360
objectlist, the user
agent must return theAudioTrackp360
orVideoTrackp360
object that represents theindexth track inlist.
TheAudioTrackList.getTrackById(id)andVideoTrackList.getTrackById(id)methods must return the firstAudioTrackp360
or
VideoTrackp360
object (respectively) in theAudioTrackListp359
orVideoTrackListp360
object (respectively) whose identifier is equal to the
value of theidargument (in the natural order of the list, as defined above). When no tracks match the given argument, the methods must return null.
TheAudioTrackp360
andVideoTrackp360
objects represent specific tracks of amedia resourcep334
. Each track can have an identifier, category,
label, and language. These aspects of a track are permanent for the lifetime of the track; even if a track is removed from amedia resourcep334
's
AudioTrackListp359
orVideoTrackListp360
objects, those aspects do not change.
In addition,AudioTrackp360
objects can each be enabled or disabled; this is the audio track'senabled state. When anAudioTrackp360
is created,
itsenabled statemust be set to false (disabled). Theresource fetch algorithmp341
can override this.
Similarly, a singleVideoTrackp360
object perVideoTrackListp360
object can be selected, this is the video track'sselection state. When a
VideoTrackp360
is created, itsselection statemust be set to false (not selected). Theresource fetch algorithmp341
can override this.
audioTrack.labelp362
videoTrack.labelp362
Returns the label of the given track, if known, or the empty string otherwise.
audioTrack.languagep362
videoTrack.languagep362
Returns the language of the given track, if known, or the empty string otherwise.
audioTrack.enabledp362 [ =value]
Returns true if the given track is active, and false otherwise.
Can be set, to change whether the track is enabled or not. If multiple audio tracks are enabled simultaneously, they are mixed.
media.videoTracksp359 .selectedIndexp363
Returns the index of the currently selected track, if any, or −1 otherwise.
videoTrack.selectedp363 [ =value]
Returns true if the given track is active, and false otherwise.
Can be set, to change whether the track is selected or not. Either zero or one video track is selected; selecting a new track while a
previous one is selected will unselect the previous one.
Each track in one of these objects thus has an index; the first has the index 0, and each subsequent track is numbered one higher than the
previous one. If amedia resourcep334
dynamically adds or removes audio or video tracks, then the indices of the tracks will change
dynamically. If themedia resourcep334
changes entirely, then all the previous tracks will be removed and replaced with new tracks.
Note
361
Extracting data from pdf forms - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
can reader edit pdf forms; extract data from pdf to excel online
Extracting data from pdf forms - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf c#; how to extract data from pdf file using java
TheAudioTrack.idandVideoTrack.idattributes must return the identifier of the track, if it has one, or the empty string otherwise. If themedia
resourcep334
is in a format that supportsmedia fragment syntax
, the identifier returned for a particular track must be the same identifier that would
enable the track if used as the name of a track in the track dimension of such afragment
.[INBAND]p1161
TheAudioTrack.kindandVideoTrack.kindattributes must return the category of the track, if it has one, or the empty string otherwise.
The category of a track is the string given in the first column of the table below that is the most appropriate for the track based on the definitions in
the table's second and third columns, as determined by the metadata included in the track in themedia resourcep334
. The cell in the third column of
a row says what the category given in the cell in the first column of that row applies to; a category is only appropriate for an audio track if it applies
to audio tracks, and a category is only appropriate for video tracks if it applies to video tracks. Categories must only be returned for
AudioTrackp360
objects if they are appropriate for audio, and must only be returned forVideoTrackp360
objects if they are appropriate for video.
For Ogg files, the Role header field of the track gives the relevant metadata. For DASH media resources, theRoleelement conveys the
information. For WebM, only theFlagDefaultelement currently maps to a value. TheSourcing In-band Media Resource Tracks from Media
Containers into HTMLspecification has further details.[OGGSKELETONHEADERS]p1162
[DASH]p1160
[WEBMCG]p1164
[INBAND]p1161
Return values forAudioTrack.kindp362
andVideoTrack.kindp362
Category
Definition
Applies
to...
Examples
"alternative" A possible alternative to the main track, e.g. a different take
of a song (audio), or a different angle (video).
Audio
and
video.
Ogg: "audio/alternate" or "video/alternate"; DASH: "alternate" without "main" and
"commentary" roles, and, for audio, without the "dub" role (other roles ignored).
"captions"
A version of the main video track with captions burnt in.
(For legacy content; new content would use text tracks.)
Video
only.
DASH: "caption" and "main" roles together (other roles ignored).
"descriptions" An audio description of a video track.
Audio
only.
Ogg: "audio/audiodesc".
"main"
The primary audio or video track.
Audio
and
video.
Ogg: "audio/main" or "video/main"; WebM: the "FlagDefault" element is set; DASH:
"main" role without "caption", "subtitle", and "dub" roles (other roles ignored).
"main-desc"
The primary audio track, mixed with audio descriptions.
Audio
only.
AC3 audio in MPEG-2 TS: bsmod=2 and full_svc=1.
"sign"
A sign-language interpretation of an audio track.
Video
only.
Ogg: "video/sign".
"subtitles"
A version of the main video track with subtitles burnt in.
(For legacy content; new content would use text tracks.)
Video
only.
DASH: "subtitle" and "main" roles together (other roles ignored).
"translation" A translated version of the main audio track.
Audio
only.
Ogg: "audio/dub". DASH: "dub" and "main" roles together (other roles ignored).
"commentary"
Commentary on the primary audio or video track, e.g. a
director's commentary.
Audio
and
video.
DASH: "commentary" role without "main" role (other roles ignored).
"" (empty string)
No explicit kind, or the kind given by the track's metadata is
not recognised by the user agent.
Audio
and
video.
TheAudioTrack.labelandVideoTrack.labelattributes must return the label of the track, if it has one, or the empty string otherwise.
[INBAND]p1161
TheAudioTrack.languageandVideoTrack.languageattributes must return the BCP 47 language tag of the language of the track, if it has
one, or the empty string otherwise. If the user agent is not able to express that language as a BCP 47 language tag (for example because the
language information in themedia resourcep334
's format is a free-form string without a defined interpretation), then the method must return the
empty string, as if the track had no language.[INBAND]p1161
TheAudioTrack.enabledattribute, on getting, must return true if the track is currently enabled, and false otherwise. On setting, it must enable
the track if the new value is true, and disable it otherwise. (If the track is no longer in anAudioTrackListp359
object, then the track being enabled
or disabled has no effect beyond changing the value of the attribute on theAudioTrackp360
object.)
Whenever an audio track in anAudioTrackListp359
that was disabled is enabled, and whenever one that was enabled is disabled, the user agent
mustqueue a taskp843
tofire a simple eventp854
namedchangep384
at theAudioTrackListp359
object.
For example, in Ogg files, this would be the Name header field of the track.[OGGSKELETONHEADERS]p1162
Example
362
C# Word: How to Extract Text from C# Word in .NET Project
plain text as well as the formatting data to ensure Visual C# sample code for extracting text from powerful & profession imaging controls, PDF document, image
extract data from pdf using java; make pdf form editable in reader
VB.NET Word: Extract Text from Microsoft Word Document in VB.NET
locked as static images and the data is inaccessible Guides in VB.NET. Apart from extracting text from powerful & profession imaging controls, PDF document, tiff
online form pdf output; pdf form save in reader
An audio track that has no data for a particular position on themedia timelinep347
, or that does not exist at that position, must be interpreted as being
silent at that point on the timeline.
TheVideoTrackList.selectedIndexattribute must return the index of the currently selected track, if any. If theVideoTrackListp360
object
does not currently represent any tracks, or if none of the tracks are selected, it must instead return −1.
TheVideoTrack.selectedattribute, on getting, must return true if the track is currently selected, and false otherwise. On setting, it must select
the track if the new value is true, and unselect it otherwise. If the track is in aVideoTrackListp360
, then all the otherVideoTrackp360
objects in
that list must be unselected. (If the track is no longer in aVideoTrackListp360
object, then the track being selected or unselected has no effect
beyond changing the value of the attribute on theVideoTrackp360
object.)
Whenever a track in aVideoTrackListp360
that was previously not selected is selected, and whenever the selected track in a
VideoTrackListp360
is unselected without a new track being selected in its stead, the user agent mustqueue a taskp843
tofire a simple eventp854
namedchangep384
at theVideoTrackListp360
object. Thistaskp842
must bequeuedp843
before thetaskp842
that fires theresizep384
event, if any.
A video track that has no data for a particular position on themedia timelinep347
must be interpreted as being fully transparent black at that point on
the timeline, with the same dimensions as the last frame before that position, or, if the position is before all the data for that track, the same
dimensions as the first frame for that track. A track that does not exist at all at the current position must be treated as if it existed but had no data.
The following are theevent handlersp846
(and their correspondingevent handler event typesp847
) that must be supported, asevent handler IDL
attributesp847
, by all objects implementing theAudioTrackListp359
andVideoTrackListp360
interfaces:
Event handlerp846
Event handler event typep847
onchange
changep384
onaddtrack
addtrackp384
onremovetrack removetrackp384
4.8.12.10.2 Selecting specific audio and video tracks declaratively
TheaudioTracksp359
andvideoTracksp359
attributes allow scripts to select which track should play, but it is also possible to select specific
tracks declaratively, by specifying particular tracks in thefragment
of theURL
of themedia resourcep334
. The format of thefragment
depends on the
MIME typep43
of themedia resourcep334
.[RFC2046]p1162
[URL]p1164
4.8.12.11 Timed text tracks
4.8.12.11.1 Text track model
Amedia elementp333
can have a group of associatedtext tracks, known as themedia elementp333
'slist of text tracks. Thetext tracksp363
are
sorted as follows:
1. Thetext tracksp363
corresponding totrackp330
element children of themedia elementp333
, intree order
.
2. Anytext tracksp363
added using theaddTextTrack()p373
method, in the order they were added, oldest first.
3. Anymedia-resource-specific text tracksp367
(text tracksp363
corresponding to data in themedia resourcep334
), in the order defined by the
media resourcep334
's format specification.
Atext trackp363
consists of:
For instance, if a video has a track that is only introduced after one hour of playback, and the user selects that track then goes back to
the start, then the user agent will act as if that track started at the start of themedia resourcep334
but was simply transparent until one
hour in.
Example
In this example, a video that uses a format that supportsmedia fragment syntax
is embedded in such a way that the alternative angles
labeled "Alternative" are enabled instead of the default video track.
<video src="myvideo#track=Alternative"></video>
Example
Spec bugs:28973
363
VB.NET Image: Demo Code to Read & Capture Code 93 Barcode from
accurate & quick barcode information extracting function, has String In datas Debug.WriteLine(data) Next End & profession imaging controls, PDF document, image
pdf form data extraction; save pdf forms in reader
VB.NET TIFF: TIFF Tag Viewer SDK, Read & Edit TIFF Tag Using VB.
page contain the information about data type, count manipulating controls, like TIFF text extracting control to ASP.NET AJAX, Silverlight, Windows Forms as well
using pdf forms to collect data; how to fill pdf form in reader
The kind of text track
This decides how the track is handled by the user agent. The kind is represented by a string. The possible strings are:
• subtitles
• captions
• descriptions
• chapters
• metadata
Thekind of trackp364
can change dynamically, in the case of atext trackp363
corresponding to atrackp330
element.
A label
This is a human-readable string intended to identify the track for the user.
Thelabel of a trackp364
can change dynamically, in the case of atext trackp363
corresponding to atrackp330
element.
When atext track labelp364
is the empty string, the user agent should automatically generate an appropriate label from the text track's other
properties (e.g. the kind of text track and the text track's language) for use in its user interface. This automatically-generated label is not
exposed in the API.
An in-band metadata track dispatch type
This is a string extracted from themedia resourcep334
specifically for in-band metadata tracks to enable such tracks to be dispatched to
different scripts in the document.
Other than for in-band metadata text tracks, thein-band metadata track dispatch typep364
is the empty string. How this value is populated for
different media formats is described insteps to expose a media-resource-specific text trackp367
.
A language
This is a string (a BCP 47 language tag) representing the language of the text track's cues.[BCP47]p1158
Thelanguage of a text trackp364
can change dynamically, in the case of atext trackp363
corresponding to atrackp330
element.
A readiness state
One of the following:
Not loaded
Indicates that the text track's cues have not been obtained.
Loading
Indicates that the text track is loading and there have been no fatal errors encountered so far. Further cues might still be added to the
track by the parser.
Loaded
Indicates that the text track has been loaded with no fatal errors.
Failed to load
Indicates that the text track was enabled, but when the user agent attempted to obtain it, this failed in some way (e.g.URL
could not be
parsedp87
, network error, unknown text track format). Some or all of the cues are likely missing and will not be obtained.
Thereadiness statep364
of atext trackp363
changes dynamically as the track is obtained.
A mode
One of the following:
Disabled
Indicates that the text track is not active. Other than for the purposes of exposing the track in the DOM, the user agent is ignoring the
text track. No cues are active, no events are fired, and the user agent will not attempt to obtain the track's cues.
For example, a traditional TV station broadcast streamed on the Web and augmented with Web-specific interactive features could
include text tracks with metadata for ad targeting, trivia game data during game shows, player states during sports games, recipe
information during food programs, and so forth. As each program starts and ends, new tracks might be added or removed from
the stream, and as each one is added, the user agent could bind them to dedicated script modules using the value of this attribute.
Example
364
Hidden
Indicates that the text track is active, but that the user agent is not actively displaying the cues. If no attempt has yet been made to
obtain the track's cues, the user agent will perform such an attempt momentarily. The user agent is maintaining a list of which cues are
active, and events are being fired accordingly.
Showing
Indicates that the text track is active. If no attempt has yet been made to obtain the track's cues, the user agent will perform such an
attempt momentarily. The user agent is maintaining a list of which cues are active, and events are being fired accordingly. In addition,
for text tracks whosekindp364
issubtitlesp364
orcaptionsp364
, the cues are being overlaid on the video as appropriate; for text
tracks whosekindp364
isdescriptionsp364
, the user agent is making the cues available to the user in a non-visual fashion; and for
text tracks whosekindp364
ischaptersp364
, the user agent is making available to the user a mechanism by which the user can
navigate to any point in themedia resourcep334
by selecting a cue.
A list of zero or more cues
A list oftext track cuesp366
, along withrules for updating the text track rendering. For example, for WebVTT, therules for updating the
display of WebVTT text tracksp58
.[WEBVTT]p1164
Thelist of cues of a text trackp365
can change dynamically, either because thetext trackp363
hasnot yet been loadedp364
or is stillloadingp364
,
or due to DOM manipulation.
Eachtext trackp363
has a correspondingTextTrackp371
object.
Eachmedia elementp333
has alist of pending text tracks, which must initially be empty, ablocked-on-parserflag, which must initially be false,
and adid-perform-automatic-track-selectionflag, which must also initially be false.
When the user agent is required topopulate the list of pending text tracksof amedia elementp333
, the user agent must add to the element'slist
of pending text tracksp365
eachtext trackp363
in the element'slist of text tracksp363
whosetext track modep364
is notdisabledp364
and whosetext track
readiness statep364
isloadingp364
.
Whenever atrackp330
element's parent node changes, the user agent must remove the correspondingtext trackp363
from anylist of pending text
tracksp365
that it is in.
Whenever atext trackp363
'stext track readiness statep364
changes to eitherloadedp364
orfailed to loadp364
, the user agent must remove it from any
list of pending text tracksp365
that it is in.
When amedia elementp333
is created by anHTML parserp962
orXML parserp1063
, the user agent must set the element'sblocked-on-parserp365
flag to
true. When amedia elementp333
is popped off thestack of open elementsp972
of anHTML parserp962
orXML parserp1063
, the user agent musthonor
user preferences for automatic text track selectionp368
,populate the list of pending text tracksp365
, and set the element'sblocked-on-parserp365
flag to
false.
Thetext tracksp363
of amedia elementp333
arereadywhen both the element'slist of pending text tracksp365
is empty and the element'sblocked-on-
parserp365
flag is false.
Eachmedia elementp333
has apending text track change notification flag, which must initially be unset.
Whenever atext trackp363
that is in amedia elementp333
'slist of text tracksp363
has itstext track modep364
change value, the user agent must run the
following steps for themedia elementp333
:
1. If themedia elementp333
'spending text track change notification flagp365
is set, abort these steps.
2. Set themedia elementp333
'spending text track change notification flagp365
.
3. Queue a taskp843
that runs the following substeps:
1. Unset themedia elementp333
'spending text track change notification flagp365
.
2. Fire a simple eventp854
namedchangep384
at themedia elementp333
'stextTracksp371
attribute'sTextTrackListp371
object.
4. If themedia elementp333
'sshow poster flagp348
is not set, run thetime marches onp356
steps.
Thetask sourcep843
for thetasksp842
listed in this section is theDOM manipulation task sourcep846
.
365
Atext track cueis the unit of time-sensitive data in atext trackp363
, corresponding for instance for subtitles and captions to the text that appears at
a particular time and disappears at another time.
Eachtext track cuep366
consists of:
An identifier
An arbitrary string.
A start time
The time, in seconds and fractions of a second, that describes the beginning of the range of themedia datap334
to which the cue applies.
An end time
The time, in seconds and fractions of a second, that describes the end of the range of themedia datap334
to which the cue applies.
A pause-on-exit flag
A boolean indicating whether playback of themedia resourcep334
is to pause when the end of the range to which the cue applies is reached.
Some additional format-specific data
Additional fields, as needed for the format, including the actual data of the cue. For example, WebVTT has atext track cue writing directionp58
and so forth.[WEBVTT]p1164
Rules for extracting the chapter title
An algorithm which, when applied to the cue, returns a string that can be used in user interfaces that use the cue as a chapter title.
Eachtext track cuep366
has a correspondingTextTrackCuep375
object (or more specifically, an object that inherits fromTextTrackCuep375
— for
example, WebVTT cues use theVTTCuep58
interface). Atext track cuep366
's in-memory representation can be dynamically changed through this
TextTrackCuep375
API.[WEBVTT]p1164
Atext track cuep366
is associated withrules for updating the text track renderingp365
, as defined by the specification for the specific kind oftext track
cuep366
. These rules are used specifically when the object representing the cue is added to aTextTrackp371
object using theaddCue()p374
method.
In addition, eachtext track cuep366
has two pieces of dynamic information:
Theactive flag
This flag must be initially unset. The flag is used to ensure events are fired appropriately when the cue becomes active or inactive, and to
make sure the right cues are rendered.
The user agent must synchronously unset this flag whenever thetext track cuep366
is removed from itstext trackp363
'stext track list of
cuesp365
; whenever thetext trackp363
itself is removed from itsmedia elementp333
'slist of text tracksp363
or has itstext track modep364
changed
todisabledp364
; and whenever themedia elementp333
'sreadyStatep351
is changed back toHAVE_NOTHINGp349
. When the flag is unset in
this way for one or more cues intext tracksp363
that wereshowingp365
prior to the relevant incident, the user agent must, after having unset the
flag for all the affected cues, apply therules for updating the text track renderingp365
of thosetext tracksp363
. For example, fortext tracksp363
based on WebVTT, therules for updating the display of WebVTT text tracksp58
.[WEBVTT]p1164
Thedisplay state
This is used as part of the rendering model, to keep cues in a consistent position. It must initially be empty. Whenever thetext track cue
active flagp366
is unset, the user agent must empty thetext track cue display statep366
.
Thetext track cuesp366
of amedia elementp333
'stext tracksp363
are ordered relative to each other in thetext track cue order, which is determined as
follows: first group thecuesp366
by theirtext trackp363
, with the groups being sorted in the same order as theirtext tracksp363
appear in themedia
elementp333
'slist of text tracksp363
; then, within each group,cuesp366
must be sorted by theirstart timep366
, earliest first; then, anycuesp366
with the
samestart timep366
must be sorted by theirend timep366
, latest first; and finally, anycuesp366
with identicalend timesp366
must be sorted in the order
they were last added to their respectivetext track list of cuesp365
, oldest first (so e.g. for cues from a WebVTT file, that would initially be the order in
which the cues were listed in the file).[WEBVTT]p1164
Thetext track cue start timep366
andtext track cue end timep366
can be negative. (Thecurrent playback positionp348
can never be negative,
though, so cues entirely before time zero cannot be active.)
Note
366
4.8.12.11.2 Sourcing in-band text tracks
Amedia-resource-specific text trackis atext trackp363
that corresponds to data found in themedia resourcep334
.
Rules for processing and rendering such data are defined by the relevant specifications, e.g. the specification of the video format if themedia
resourcep334
is a video. Details for some legacy formats can be found in theSourcing In-band Media Resource Tracks from Media Containers into
HTMLspecification.[INBAND]p1161
When amedia resourcep334
contains data that the user agent recognises and supports as being equivalent to atext trackp363
, the user agent
runsp346
thesteps to expose a media-resource-specific text trackwith the relevant data, as follows.
1. Associate the relevant data with a newtext trackp363
and its corresponding newTextTrackp371
object. Thetext trackp363
is amedia-
resource-specific text trackp367
.
2. Set the newtext trackp363
'skindp364
,labelp364
, andlanguagep364
based on the semantics of the relevant data, as defined by the relevant
specification. If there is no label in that data, then thelabelp364
must be set to the empty string.
3. Associate thetext track list of cuesp365
with therules for updating the text track renderingp365
appropriate for the format in question.
4. If the newtext trackp363
'skindp364
ismetadatap364
, then set thetext track in-band metadata track dispatch typep364
as follows, based on
the type of themedia resourcep334
:
If themedia resourcep334
is an Ogg file
Thetext track in-band metadata track dispatch typep364
must be set to the value of the Name header field.
[OGGSKELETONHEADERS]p1162
If themedia resourcep334
is a WebM file
Thetext track in-band metadata track dispatch typep364
must be set to the value of theCodecIDelement.[WEBMCG]p1164
If themedia resourcep334
is an MPEG-2 file
Letstream typebe the value of the "stream_type" field describing the text track's type in the file's program map section,
interpreted as an 8-bit unsigned integer. Letlengthbe the value of the "ES_info_length" field for the track in the same part of
the program map section, interpreted as an integer as defined by the MPEG-2 specification. Letdescriptor bytesbe thelength
bytes following the "ES_info_length" field. Thetext track in-band metadata track dispatch typep364
must be set to the
concatenation of thestream typebyte and the zero or moredescriptor bytesbytes, expressed in hexadecimal using
uppercase ASCII hex digitsp64
.[MPEG2]p1161
If themedia resourcep334
is an MPEG-4 file
Let the firststsdbox of the firststblbox of the firstminfbox of the firstmdiabox of thetext trackp363
'strakbox in the
firstmoovbox of the file be thestsd box, if any. If the file has nostsd box, or if thestsd boxhas neither amettbox nor a
metxbox, then thetext track in-band metadata track dispatch typep364
must be set to the empty string. Otherwise, if thestsd
boxhas amettbox then thetext track in-band metadata track dispatch typep364
must be set to the concatenation of the string
"mett", a U+0020 SPACE character, and the value of the firstmime_formatfield of the firstmettbox of thestsd box, or the
empty string if that field is absent in that box. Otherwise, if thestsd boxhas nomettbox but has ametxbox then thetext
track in-band metadata track dispatch typep364
must be set to the concatenation of the string "metx", a U+0020 SPACE
character, and the value of the firstnamespacefield of the firstmetxbox of thestsd box, or the empty string if that field is
absent in that box.[MPEG4]p1161
5. Populate the newtext trackp363
'slist of cuesp365
with the cues parsed so far, following theguidelines for exposing cuesp370
, and begin
updating it dynamically as necessary.
6. Set the newtext trackp363
'sreadiness statep364
toloadedp364
.
7. Set the newtext trackp363
'smodep364
to the mode consistent with the user's preferences and the requirements of the relevant
specification for the data.
8. Add the newtext trackp363
to themedia elementp333
'slist of text tracksp363
.
9. Firep44
atrustedp44
event with the nameaddtrackp384
, that does not bubble and is not cancelable, and that uses theTrackEventp382
interface, with thetrackp383
attribute initialised to thetext trackp363
'sTextTrackp371
object, at themedia elementp333
's
textTracksp371
attribute'sTextTrackListp371
object.
For instance, if there are no other active subtitles, and this is a forced subtitle track (a subtitle track giving subtitles in the audio
track's primary language, but only for audio that is actually in another language), then those subtitles might be activated here.
Note
367
4.8.12.11.3 Sourcing out-of-band text tracks
When atrackp330
element is created, it must be associated with a newtext trackp363
(with its value set as defined below) and its corresponding
newTextTrackp371
object.
Thetext track kindp364
is determined from the state of the element'skindp331
attribute according to the following table; for a state given in a cell of
the first column, thekindp364
is the string given in the second column:
State
String
Subtitlesp331
subtitlesp364
Captionsp331
captionsp364
Descriptionsp331
descriptionsp364
Chaptersp331
chaptersp364
Metadatap331
metadatap364
Thetext track labelp364
is the element'strack labelp331
.
Thetext track languagep364
is the element'strack languagep331
, if any, or the empty string otherwise.
As thekindp331
,labelp331
, andsrclangp331
attributes are set, changed, or removed, thetext trackp363
must update accordingly, as per the
definitions above.
Thetext track readiness statep364
is initiallynot loadedp364
, and thetext track modep364
is initiallydisabledp364
.
Thetext track list of cuesp365
is initially empty. It is dynamically modified when the referenced file is parsed. Associated with the list are therules for
updating the text track renderingp365
appropriate for the format in question; for WebVTT, this is therules for updating the display of WebVTT text
tracksp58
.[WEBVTT]p1164
When atrackp330
element's parent element changes and the new parent is amedia elementp333
, then the user agent must add thetrackp330
element's correspondingtext trackp363
to themedia elementp333
'slist of text tracksp363
, and thenqueue a taskp843
tofirep44
atrustedp44
event with the
nameaddtrackp384
, that does not bubble and is not cancelable, and that uses theTrackEventp382
interface, with thetrackp383
attribute
initialised to thetext trackp363
'sTextTrackp371
object, at themedia elementp333
'stextTracksp371
attribute'sTextTrackListp371
object.
When atrackp330
element's parent element changes and the old parent was amedia elementp333
, then the user agent must remove thetrackp330
element's correspondingtext trackp363
from themedia elementp333
'slist of text tracksp363
, and thenqueue a taskp843
tofirep44
atrustedp44
event with
the nameremovetrackp384
, that does not bubble and is not cancelable, and that uses theTrackEventp382
interface, with thetrackp383
attribute
initialised to thetext trackp363
'sTextTrackp371
object, at themedia elementp333
'stextTracksp371
attribute'sTextTrackListp371
object.
When atext trackp363
corresponding to atrackp330
element is added to amedia elementp333
'slist of text tracksp363
, the user agent mustqueue a
taskp843
to run the following steps for themedia elementp333
:
1. If the element'sblocked-on-parserp365
flag is true, abort these steps.
2. If the element'sdid-perform-automatic-track-selectionp365
flag is true, abort these steps.
3. Honor user preferences for automatic text track selectionp368
for this element.
When the user agent is required tohonor user preferences for automatic text track selectionfor amedia elementp333
, the user agent must run
the following steps:
1. Perform automatic text track selectionp369
forsubtitlesp364
andcaptionsp364
.
2. Perform automatic text track selectionp369
fordescriptionsp364
.
3. Perform automatic text track selectionp369
forchaptersp364
.
4. If there are anytext tracksp363
in themedia elementp333
'slist of text tracksp363
whosetext track kindp364
ismetadatap364
that correspond
totrackp330
elements with adefaultp332
attribute set whosetext track modep364
is set todisabledp364
, then set thetext track modep364
of all such tracks tohiddenp365
Changes to thetrack URLp331
are handled in the algorithm below.
Note
368
5. Set the element'sdid-perform-automatic-track-selectionp365
flag to true.
When the steps above say toperform automatic text track selectionfor one or moretext track kindsp364
, it means to run the following steps:
1. Letcandidatesbe a list consisting of thetext tracksp363
in themedia elementp333
'slist of text tracksp363
whosetext track kindp364
is one of
the kinds that were passed to the algorithm, if any, in the order given in thelist of text tracksp363
.
2. Ifcandidatesis empty, then abort these steps.
3. If any of thetext tracksp363
incandidateshave atext track modep364
set toshowingp365
, abort these steps.
4. If the user has expressed an interest in having a track fromcandidatesenabled based on itstext track kindp364
,text track languagep364
,
andtext track labelp364
, then set itstext track modep364
toshowingp365
.
Otherwise, if there are anytext tracksp363
incandidatesthat correspond totrackp330
elements with adefaultp332
attribute set whose
text track modep364
is set todisabledp364
, then set thetext track modep364
of the first such track toshowingp365
.
When atext trackp363
corresponding to atrackp330
element experiences any of the following circumstances, the user agent muststart thetrack
processing modelp369
for thattext trackp363
and itstrackp330
element:
• Thetrackp330
element is created.
• Thetext trackp363
has itstext track modep364
changed.
• Thetrackp330
element's parent element changes and the new parent is amedia elementp333
.
When a user agent is tostart thetrackprocessing modelfor atext trackp363
and itstrackp330
element, it must run the following algorithm. This
algorithm interacts closely with theevent loopp842
mechanism; in particular, it has asynchronous sectionp845
(which is triggered as part of theevent
loopp842
algorithm). The steps in that section are marked with ⌛.
1. If another occurrence of this algorithm is already running for thistext trackp363
and itstrackp330
element, abort these steps, letting that
other algorithm take care of this element.
2. If thetext trackp363
'stext track modep364
is not set to one ofhiddenp365
orshowingp365
, abort these steps.
3. If thetext trackp363
'strackp330
element does not have amedia elementp333
as a parent, abort these steps.
4. Run the remainder of these stepsin parallelp42
, allowing whatever caused these steps to run to continue.
5. Top:Await a stable statep845
. Thesynchronous sectionp845
consists of the following steps. (The steps in thesynchronous sectionp845
are
marked with ⌛.)
6. ⌛ Set thetext track readiness statep364
toloadingp364
.
7. ⌛ LetURLbe thetrack URLp331
of thetrackp330
element.
8. ⌛ If thetrackp330
element's parent is amedia elementp333
then letcorsAttributeStatebe the state of the parentmedia elementp333
's
crossoriginp335
content attribute. Otherwise, letcorsAttributeStatebeNo CORSp89
.
9. End thesynchronous sectionp845
, continuing the remaining stepsin parallelp42
.
10. IfURLis not the empty string, run these substeps:
1. Letrequestbe the result ofcreating a potential-CORS requestp87
givenURL,corsAttributeState, and with thesame-origin
fallback flagset.
2. Setrequest'sclient
to thetrackp330
element'snode document
'sWindowp758
object'senvironment settings objectp828
and
type
to "track".
3. Fetch
request.
Thetasksp842
queuedp843
by the fetching algorithm on thenetworking task sourcep846
to process the data as it is being fetched must
determine the type of the resource. If the type of the resource is not a supported text track format, the load will fail, as described below.
For example, the user could have set a browser preference to the effect of "I want French captions whenever possible", or "If
there is a subtitle track with 'Commentary' in the title, enable it", or "If there are audio description tracks available, enable one,
ideally in Swiss German, but failing that in Standard Swiss German or Standard German".
Note
369
Otherwise, the resource's data must be passed to the appropriate parser (e.g., theWebVTT parserp58
) as it is received, with thetext
track list of cuesp365
being used for that parser's output.[WEBVTT]p1164
This specification does not currently say whether or how to check the MIME types of text tracks, or whether or how to perform
file type sniffing using the actual file data. Implementors differ in their intentions on this matter and it is therefore unclear what
the right solution is. In the absence of any requirement here, the HTTP specification's strict requirement to follow the Content-
Type header prevails ("Content-Type specifies the media type of the underlying data." ... "If and only if the media type is not
given by a Content-Type field, the recipient MAY attempt to guess the media type via inspection of its content and/or the
name extension(s) of the URI used to identify the resource.").
If fetching fails for any reason (network error, the server returns an error code, CORS fails, etc), or ifURLis the empty string, thenqueue
a taskp843
to first change thetext track readiness statep364
tofailed to loadp364
and thenfire a simple eventp854
namederrorp384
at the
trackp330
element. Thistaskp842
must use theDOM manipulation task sourcep846
.
If fetching does not fail, but the type of the resource is not a supported text track format, or the file was not successfully processed (e.g.,
the format in question is an XML format and the file contained a well-formedness error that the XML specification requires be detected
and reported to the application), then thetaskp842
that isqueuedp843
by thenetworking task sourcep846
in which the aforementioned
problem is found must change thetext track readiness statep364
tofailed to loadp364
andfire a simple eventp854
namederrorp384
at the
trackp330
element.
If fetching does not fail, and the file was successfully processed, then the finaltaskp842
that isqueuedp843
by thenetworking task
sourcep846
, after it has finished parsing the data, must change thetext track readiness statep364
toloadedp364
, andfire a simple eventp854
namedloadp384
at thetrackp330
element.
If, while fetching is ongoing, either:
◦ thetrack URLp331
changes so that it is no longer equal toURL, while thetext track modep364
is set tohiddenp365
or
showingp365
; or
◦ thetext track modep364
changes tohiddenp365
orshowingp365
, while thetrack URLp331
is not equal toURL
...then the user agent must abortfetching
, discarding any pendingtasksp842
generated by that algorithm (and in particular, not adding
any cues to thetext track list of cuesp365
after the moment the URL changed), and thenqueue a taskp843
that first changes thetext track
readiness statep364
tofailed to loadp364
and thenfires a simple eventp854
namederrorp384
at thetrackp330
element. Thistaskp842
must
use theDOM manipulation task sourcep846
.
11. Wait until thetext track readiness statep364
is no longer set toloadingp364
.
12. Wait until thetrack URLp331
is no longer equal toURL, at the same time as thetext track modep364
is set tohiddenp365
orshowingp365
.
13. Jump to the step labeledtop.
Whenever atrackp330
element has itssrcp331
attribute set, changed, or removed, the user agent mustimmediatelyp42
empty the element'stext
trackp363
'stext track list of cuesp365
. (This also causes the algorithm above to stop adding cues from the resource being obtained using the
previously given URL, if any.)
4.8.12.11.4Guidelines for exposing cuesin various formats astext track cuesp366
How a specific format's text track cues are to be interpreted for the purposes of processing by an HTML user agent is defined by that format. In the
absence of such a specification, this section provides some constraints within which implementations can attempt to consistently expose such
formats.
To support thetext trackp363
model of HTML, each unit of timed data is converted to atext track cuep366
. Where the mapping of the format's features
to the aspects of atext track cuep366
as defined in this specification are not defined, implementations must ensure that the mapping is consistent
with the definitions of the aspects of atext track cuep366
as defined above, as well as with the following constraints:
The appropriate parser will incrementally update thetext track list of cuesp365
during thesenetworking task sourcep846
tasksp842
,
as each such task is run with whatever data has been received from the network).
Note
370
Documents you may be interested
Documents you may be interested