react-native-theoplayer
Version:
A THEOplayer video component for react-native.
52 lines (47 loc) • 1.22 kB
JavaScript
;
/**
* Represents a track of a media resource.
*
* @remarks
* <br/> - A specific track type (e.g. {@link TextTrack}) will always be used.
*
* @category Media and Text Tracks
* @public
*/
/**
* Checks whether a track list contains a given track.
*
* @category Media and Text Tracks
* @internal
*/
export function hasTrack(trackList, track) {
return !!(trackList && track && trackList.find(t => t.uid === track.uid));
}
/**
* Removes a track from a track list.
*
* @category Media and Text Tracks
* @internal
*/
export function removeTrack(trackList, track) {
return trackList && track ? trackList.filter(t => t.uid !== track.uid) : trackList;
}
/**
* Adds a track to a track list.
*
* @category Media and Text Tracks
* @internal
*/
export function addTrack(trackList, track) {
return trackList && track && !hasTrack(trackList, track) ? sortTracks([...trackList, track]) : trackList;
}
/**
* Sort a track list based on the track's uids, which is how they are listed in the manifest.
*
* @category Media and Text Tracks
* @internal
*/
export function sortTracks(trackList) {
return trackList?.sort((t1, t2) => t1.uid - t2.uid) || [];
}
//# sourceMappingURL=Track.js.map