mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 07:32:02 +00:00
more strict arguments validation imlemented for addSubtitleTracks
This commit is contained in:
parent
8be29b6815
commit
22731db588
1 changed files with 17 additions and 8 deletions
|
|
@ -184,16 +184,25 @@ var HTMLVideo = function(container) {
|
|||
switch (arguments[1]) {
|
||||
case 'addSubtitleTracks':
|
||||
if (loaded) {
|
||||
var uniqSubtitleIds = {};
|
||||
subtitleTracks = subtitleTracks.concat(arguments[2])
|
||||
.reduce(function(result, subtitleTrack) {
|
||||
if (!uniqSubtitleIds[subtitleTrack.id]) {
|
||||
uniqSubtitleIds[subtitleTrack.id] = true;
|
||||
result.push(Object.freeze(subtitleTrack));
|
||||
subtitleTracks = (Array.isArray(arguments[2]) ? arguments[2] : [])
|
||||
.filter(function(track) {
|
||||
return track && typeof track.url === 'string' && track.url.length > 0;
|
||||
})
|
||||
.map(function(track) {
|
||||
return Object.freeze(Object.assign({}, track, {
|
||||
id: track.url
|
||||
}));
|
||||
})
|
||||
.concat(subtitleTracks)
|
||||
.filter(function(track, index, tracks) {
|
||||
for (var i = 0; i < tracks.length; i++) {
|
||||
if (tracks[i].id === track.id) {
|
||||
return i === index;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}, []);
|
||||
return false;
|
||||
});
|
||||
onSubtitleTracksChanged();
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue