Module mediatracks
The track lists of a media element (src/page/media_tracks.odin, media_texttracks.odin): AudioTrackList, VideoTrackList and TextTrackList (EventTargets: addtrack / removetrack / change), the AudioTrack / VideoTrack / TextTrack they hold, the TextTrackCue / VTTCue and TextTrackCueList of a text track, and the <track> element. The audio and video tracks are built from what the container demuxer announced; text tracks come from <track src> (WebVTT, parsed natively by media.vtt_parse) or addTextTrack. Which cues are active is tracked by the player's time and the shell draws the showing tracks over the video.
Exposed to: Window. Source: api/media_tracks.widl.
Odin: import "wren:mediatracks".
Types
handle AudioTrackList : Object
Checked by the browser on every call (lookup_AudioTrackList).
handle VideoTrackList : Object
Checked by the browser on every call (lookup_VideoTrackList).
handle TextTrackList : Object
Checked by the browser on every call (lookup_TextTrackList).
handle AudioTrack : Object
Checked by the browser on every call (lookup_AudioTrack).
handle VideoTrack : Object
Checked by the browser on every call (lookup_VideoTrack).
handle TextTrack : Object
Checked by the browser on every call (lookup_TextTrack).
handle TextTrackCue : Object
Checked by the browser on every call (lookup_TextTrackCue).
handle TextTrackCueList : Object
Checked by the browser on every call (lookup_TextTrackCueList).
handle HTMLTrackElement : Element
Checked by the browser on every call (lookup_HTMLTrackElement).
Functions
AudioTrackList_length
u32 AudioTrackList_length(AudioTrackList list)Host: AudioTrackList_length :: proc(c: ^Call, list: Api_AudioTrackList) -> u32
AudioTrackList_item
AudioTrack AudioTrackList_item(AudioTrackList list, u32 index) raiseslist[index]: Not_Found past the end.
Raises: returns an Error (see web).
Host: AudioTrackList_item :: proc(c: ^Call, list: Api_AudioTrackList, index: u32) -> (u64, Api_Error)
AudioTrackList_getTrackById
AudioTrack AudioTrackList_getTrackById(AudioTrackList list, string id)list.getTrackById(id): 0 (null) when none matches.
Host: AudioTrackList_getTrackById :: proc(c: ^Call, list: Api_AudioTrackList, id: string) -> u64
VideoTrackList_length
u32 VideoTrackList_length(VideoTrackList list)Host: VideoTrackList_length :: proc(c: ^Call, list: Api_VideoTrackList) -> u32
VideoTrackList_item
VideoTrack VideoTrackList_item(VideoTrackList list, u32 index) raisesRaises: returns an Error (see web).
Host: VideoTrackList_item :: proc(c: ^Call, list: Api_VideoTrackList, index: u32) -> (u64, Api_Error)
VideoTrackList_getTrackById
VideoTrack VideoTrackList_getTrackById(VideoTrackList list, string id)Host: VideoTrackList_getTrackById :: proc(c: ^Call, list: Api_VideoTrackList, id: string) -> u64
VideoTrackList_selectedIndex
i32 VideoTrackList_selectedIndex(VideoTrackList list)videoTrackList.selectedIndex: the index of the selected track, -1 when none.
Host: VideoTrackList_selectedIndex :: proc(c: ^Call, list: Api_VideoTrackList) -> i32
TextTrackList_length
u32 TextTrackList_length(TextTrackList list)Host: TextTrackList_length :: proc(c: ^Call, list: Api_TextTrackList) -> u32
TextTrackList_item
TextTrack TextTrackList_item(TextTrackList list, u32 index) raisesRaises: returns an Error (see web).
Host: TextTrackList_item :: proc(c: ^Call, list: Api_TextTrackList, index: u32) -> (u64, Api_Error)
TextTrackList_getTrackById
TextTrack TextTrackList_getTrackById(TextTrackList list, string id)Host: TextTrackList_getTrackById :: proc(c: ^Call, list: Api_TextTrackList, id: string) -> u64
AudioTrack_id
string AudioTrack_id(AudioTrack track)Host: AudioTrack_id :: proc(c: ^Call, track: Api_AudioTrack) -> string
AudioTrack_kind
string AudioTrack_kind(AudioTrack track)Host: AudioTrack_kind :: proc(c: ^Call, track: Api_AudioTrack) -> string
AudioTrack_label
string AudioTrack_label(AudioTrack track)Host: AudioTrack_label :: proc(c: ^Call, track: Api_AudioTrack) -> string
AudioTrack_language
string AudioTrack_language(AudioTrack track)Host: AudioTrack_language :: proc(c: ^Call, track: Api_AudioTrack) -> string
AudioTrack_enabled
bool AudioTrack_enabled(AudioTrack track)Host: AudioTrack_enabled :: proc(c: ^Call, track: Api_AudioTrack) -> bool
AudioTrack_set_enabled
void AudioTrack_set_enabled(AudioTrack track, bool value)Host: AudioTrack_set_enabled :: proc(c: ^Call, track: Api_AudioTrack, value: bool)
VideoTrack_id
string VideoTrack_id(VideoTrack track)Host: VideoTrack_id :: proc(c: ^Call, track: Api_VideoTrack) -> string
VideoTrack_kind
string VideoTrack_kind(VideoTrack track)Host: VideoTrack_kind :: proc(c: ^Call, track: Api_VideoTrack) -> string
VideoTrack_label
string VideoTrack_label(VideoTrack track)Host: VideoTrack_label :: proc(c: ^Call, track: Api_VideoTrack) -> string
VideoTrack_language
string VideoTrack_language(VideoTrack track)Host: VideoTrack_language :: proc(c: ^Call, track: Api_VideoTrack) -> string
VideoTrack_selected
bool VideoTrack_selected(VideoTrack track)Host: VideoTrack_selected :: proc(c: ^Call, track: Api_VideoTrack) -> bool
VideoTrack_set_selected
void VideoTrack_set_selected(VideoTrack track, bool value)Host: VideoTrack_set_selected :: proc(c: ^Call, track: Api_VideoTrack, value: bool)
TextTrack_kind
string TextTrack_kind(TextTrack track)track.kind / label / language / id (TextTrack).
Host: TextTrack_kind :: proc(c: ^Call, track: Api_TextTrack) -> string
TextTrack_label
string TextTrack_label(TextTrack track)Host: TextTrack_label :: proc(c: ^Call, track: Api_TextTrack) -> string
TextTrack_language
string TextTrack_language(TextTrack track)Host: TextTrack_language :: proc(c: ^Call, track: Api_TextTrack) -> string
TextTrack_id
string TextTrack_id(TextTrack track)Host: TextTrack_id :: proc(c: ^Call, track: Api_TextTrack) -> string
TextTrack_mode
string TextTrack_mode(TextTrack track)track.mode: "disabled", "hidden" or "showing".
Host: TextTrack_mode :: proc(c: ^Call, track: Api_TextTrack) -> string
TextTrack_set_mode
void TextTrack_set_mode(TextTrack track, string value)Host: TextTrack_set_mode :: proc(c: ^Call, track: Api_TextTrack, value: string)
TextTrack_cues
TextTrackCueList TextTrack_cues(TextTrack track)track.cues / activeCues: a TextTrackCueList (0: the track is disabled).
Host: TextTrack_cues :: proc(c: ^Call, track: Api_TextTrack) -> u64
TextTrack_activeCues
TextTrackCueList TextTrack_activeCues(TextTrack track)Host: TextTrack_activeCues :: proc(c: ^Call, track: Api_TextTrack) -> u64
TextTrack_addCue
void TextTrack_addCue(TextTrack track, TextTrackCue cue) raisestrack.addCue(cue) / removeCue(cue).
Raises: returns an Error (see web).
Host: TextTrack_addCue :: proc(c: ^Call, track: Api_TextTrack, cue: Api_TextTrackCue) -> Api_Error
TextTrack_removeCue
void TextTrack_removeCue(TextTrack track, TextTrackCue cue) raisesRaises: returns an Error (see web).
Host: TextTrack_removeCue :: proc(c: ^Call, track: Api_TextTrack, cue: Api_TextTrackCue) -> Api_Error
TextTrackCue_id
string TextTrackCue_id(TextTrackCue cue)Host: TextTrackCue_id :: proc(c: ^Call, cue: Api_TextTrackCue) -> string
TextTrackCue_set_id
void TextTrackCue_set_id(TextTrackCue cue, string value)Host: TextTrackCue_set_id :: proc(c: ^Call, cue: Api_TextTrackCue, value: string)
TextTrackCue_startTime
f64 TextTrackCue_startTime(TextTrackCue cue)Host: TextTrackCue_startTime :: proc(c: ^Call, cue: Api_TextTrackCue) -> f64
TextTrackCue_set_startTime
void TextTrackCue_set_startTime(TextTrackCue cue, f64 value)Host: TextTrackCue_set_startTime :: proc(c: ^Call, cue: Api_TextTrackCue, value: f64)
TextTrackCue_endTime
f64 TextTrackCue_endTime(TextTrackCue cue)Host: TextTrackCue_endTime :: proc(c: ^Call, cue: Api_TextTrackCue) -> f64
TextTrackCue_set_endTime
void TextTrackCue_set_endTime(TextTrackCue cue, f64 value)Host: TextTrackCue_set_endTime :: proc(c: ^Call, cue: Api_TextTrackCue, value: f64)
TextTrackCue_pauseOnExit
bool TextTrackCue_pauseOnExit(TextTrackCue cue)Host: TextTrackCue_pauseOnExit :: proc(c: ^Call, cue: Api_TextTrackCue) -> bool
TextTrackCue_set_pauseOnExit
void TextTrackCue_set_pauseOnExit(TextTrackCue cue, bool value)Host: TextTrackCue_set_pauseOnExit :: proc(c: ^Call, cue: Api_TextTrackCue, value: bool)
TextTrackCue_track
TextTrack TextTrackCue_track(TextTrackCue cue)cue.track: the TextTrack it is in (0: none).
Host: TextTrackCue_track :: proc(c: ^Call, cue: Api_TextTrackCue) -> u64
VTTCue_create
TextTrackCue VTTCue_create(f64 start, f64 end, string text) raisesnew VTTCue(startTime, endTime, text): a script-made cue.
Raises: returns an Error (see web).
Host: VTTCue_create :: proc(c: ^Call, start: f64, end: f64, text: string) -> (u64, Api_Error)
VTTCue_text
string VTTCue_text(TextTrackCue cue)vttCue.text (the cue payload).
Host: VTTCue_text :: proc(c: ^Call, cue: Api_TextTrackCue) -> string
VTTCue_set_text
void VTTCue_set_text(TextTrackCue cue, string value)Host: VTTCue_set_text :: proc(c: ^Call, cue: Api_TextTrackCue, value: string)
TextTrackCueList_length
u32 TextTrackCueList_length(TextTrackCueList list)Host: TextTrackCueList_length :: proc(c: ^Call, list: Api_TextTrackCueList) -> u32
TextTrackCueList_item
TextTrackCue TextTrackCueList_item(TextTrackCueList list, u32 index) raisesRaises: returns an Error (see web).
Host: TextTrackCueList_item :: proc(c: ^Call, list: Api_TextTrackCueList, index: u32) -> (u64, Api_Error)
TextTrackCueList_getCueById
TextTrackCue TextTrackCueList_getCueById(TextTrackCueList list, string id)Host: TextTrackCueList_getCueById :: proc(c: ^Call, list: Api_TextTrackCueList, id: string) -> u64
HTMLTrackElement_track
TextTrack HTMLTrackElement_track(HTMLTrackElement track)track.track: the <track> element's TextTrack (0: not attached to a media element).
Host: HTMLTrackElement_track :: proc(c: ^Call, track: Api_HTMLTrackElement) -> u64
HTMLTrackElement_readyState
i32 HTMLTrackElement_readyState(HTMLTrackElement track)track.readyState: 0 NONE, 1 LOADING, 2 LOADED, 3 ERROR.
Host: HTMLTrackElement_readyState :: proc(c: ^Call, track: Api_HTMLTrackElement) -> i32