diff --git a/src/js/player.js b/src/js/player.js index e872644b9d..b16086a933 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -5163,51 +5163,56 @@ class Player extends Component { * * @link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist * - * @return {VideoTrackList} + * @returns {import("./tracks/video-track-list").VideoTrackList} * the current video track list * * @method Player.prototype.videoTracks */ +Player.prototype.videoTracks = () => {}; /** * Get the {@link AudioTrackList} * * @link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist * - * @return {AudioTrackList} + * @return {import("./tracks/audio-track-list").AudioTrackList} * the current audio track list * * @method Player.prototype.audioTracks */ +Player.prototype.audioTracks = () => {}; /** * Get the {@link TextTrackList} * * @link http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#dom-media-texttracks * - * @return {TextTrackList} + * @return {import("./tracks/text-track-list").TextTrackList} * the current text track list * * @method Player.prototype.textTracks */ +Player.prototype.textTracks = () => {}; /** * Get the remote {@link TextTrackList} * - * @return {TextTrackList} + * @return {import("./tracks/text-track-list").TextTrackList} * The current remote text track list * * @method Player.prototype.remoteTextTracks */ +Player.prototype.remoteTextTracks = () => {}; /** * Get the remote {@link HtmlTrackElementList} tracks. * - * @return {HtmlTrackElementList} + * @return {import("./tracks/html-track-element-list").HtmlTrackElementList} * The current remote text track element list * * @method Player.prototype.remoteTextTrackEls */ +Player.prototype.remoteTextTrackEls = () => {}; TRACK_TYPES.names.forEach(function(name) { const props = TRACK_TYPES[name]; diff --git a/src/js/tracks/audio-track-list.js b/src/js/tracks/audio-track-list.js index 0552323656..6beea2ff41 100644 --- a/src/js/tracks/audio-track-list.js +++ b/src/js/tracks/audio-track-list.js @@ -31,7 +31,7 @@ const disableOthers = function(list, track) { * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist} * @extends TrackList */ -class AudioTrackList extends TrackList { +export class AudioTrackList extends TrackList { /** * Create an instance of this class. diff --git a/src/js/tracks/html-track-element-list.js b/src/js/tracks/html-track-element-list.js index 3c8107cb57..8d90212095 100644 --- a/src/js/tracks/html-track-element-list.js +++ b/src/js/tracks/html-track-element-list.js @@ -5,7 +5,7 @@ /** * The current list of {@link HtmlTrackElement}s. */ -class HtmlTrackElementList { +export class HtmlTrackElementList { /** * Create an instance of this class. diff --git a/src/js/tracks/text-track-list.js b/src/js/tracks/text-track-list.js index 92af54d35a..b402028df1 100644 --- a/src/js/tracks/text-track-list.js +++ b/src/js/tracks/text-track-list.js @@ -9,7 +9,7 @@ import TrackList from './track-list'; * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist} * @extends TrackList */ -class TextTrackList extends TrackList { +export class TextTrackList extends TrackList { /** * Add a {@link TextTrack} to the `TextTrackList` diff --git a/src/js/tracks/track-list.js b/src/js/tracks/track-list.js index 4327ac2929..0e58fdf326 100644 --- a/src/js/tracks/track-list.js +++ b/src/js/tracks/track-list.js @@ -10,7 +10,7 @@ import {isEvented} from '../mixins/evented'; * * @extends EventTarget */ -class TrackList extends EventTarget { +export class TrackList extends EventTarget { /** * Create an instance of this class * diff --git a/src/js/tracks/video-track-list.js b/src/js/tracks/video-track-list.js index 518e3d73bd..af6d897525 100644 --- a/src/js/tracks/video-track-list.js +++ b/src/js/tracks/video-track-list.js @@ -30,7 +30,7 @@ const disableOthers = function(list, track) { * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist} * @extends TrackList */ -class VideoTrackList extends TrackList { +export class VideoTrackList extends TrackList { /** * Create an instance of this class. diff --git a/src/js/video.js b/src/js/video.js index 9d2dde1f5a..c7129f418a 100644 --- a/src/js/video.js +++ b/src/js/video.js @@ -24,9 +24,13 @@ import Plugin from './plugin'; import * as Fn from './utils/fn.js'; import * as Num from './utils/num.js'; import * as Str from './utils/str.js'; +import TrackList from './tracks/track-list.js'; import TextTrack from './tracks/text-track.js'; +import TextTrackList from './tracks/text-track-list.js'; import AudioTrack from './tracks/audio-track.js'; +import AudioTrackList from './tracks/audio-track-list.js'; import VideoTrack from './tracks/video-track.js'; +import VideoTrackList from './tracks/video-track-list.js'; import { deprecateForMajor } from './utils/deprecate'; import * as Time from './utils/time.js'; import log, { createLogger } from './utils/log.js'; @@ -551,9 +555,13 @@ videojs.trigger = Events.trigger; */ videojs.xhr = xhr; +videojs.TrackList = TrackList; videojs.TextTrack = TextTrack; +videojs.TextTrackList = TextTrackList; videojs.AudioTrack = AudioTrack; +videojs.AudioTrackList = AudioTrackList; videojs.VideoTrack = VideoTrack; +videojs.VideoTrackList = VideoTrackList; [ 'isEl',