Skip to content

Commit eb57575

Browse files
committed
Fix Usage of Extended Tracks Data
1 parent e1c62be commit eb57575

File tree

3 files changed

+28
-26
lines changed

3 files changed

+28
-26
lines changed

src/TizenVideo/TizenVideo.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,9 @@ function TizenVideo(options) {
156156
if (!gotTraktData && stream !== null) {
157157
gotTraktData = true;
158158
getTracksData(stream.url, function(resp) {
159-
tracksData = resp;
159+
if (resp) {
160+
tracksData = resp;
161+
}
160162
if (((tracksData || {}).subs || []).length) {
161163
onPropChanged('subtitlesTracks');
162164
}
@@ -234,10 +236,10 @@ function TizenVideo(options) {
234236
var textTrackLang = typeof extra.track_lang === 'string' && extra.track_lang.length > 0 ? extra.track_lang.trim() : null;
235237
if (((tracksData || {}).subs || []).length) {
236238
var extendedTrackData = tracksData.subs.find(function(el) {
237-
return (el || {}).id === textTrack.index;
239+
return (el || {}).id-1 === textTrack.index;
238240
});
239-
if ((extendedTrackData || {}).lang) {
240-
textTrackLang = extendedTrackData.lang;
241+
if (extendedTrackData) {
242+
textTrackLang = extendedTrackData.lang || 'eng';
241243
}
242244
}
243245
textTracks.push({
@@ -336,10 +338,10 @@ function TizenVideo(options) {
336338
var audioTrackLang = typeof extra.language === 'string' && extra.language.length > 0 ? extra.language : null;
337339
if (((tracksData || {}).audio || []).length) {
338340
var extendedTrackData = tracksData.audio.find(function(el) {
339-
return (el || {}).id === audioTrack.index;
341+
return (el || {}).id-1 === audioTrack.index;
340342
});
341-
if ((extendedTrackData || {}).lang) {
342-
audioTrackLang = extendedTrackData.lang;
343+
if (extendedTrackData) {
344+
audioTrackLang = extendedTrackData.lang || 'eng';
343345
}
344346
}
345347
audioTracks.push({

src/WebOsVideo/WebOsVideo.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ function WebOsVideo(options) {
229229
}
230230
};
231231

232+
// eslint-disable-next-line no-unused-vars
232233
var subscribe = function (cb) {
233234
if (subscribed) return;
234235
subscribed = true;
@@ -440,6 +441,7 @@ function WebOsVideo(options) {
440441
};
441442

442443
var gotTraktData = false;
444+
var tracksData = { audio: [], subs: [] };
443445

444446
function retrieveExtendedTracks() {
445447
if (!gotTraktData && stream !== null) {
@@ -449,7 +451,9 @@ function WebOsVideo(options) {
449451
var nrAudio = 0;
450452
textTracks = [];
451453
audioTracks = [];
452-
tracksData = resp;
454+
if (resp) {
455+
tracksData = resp;
456+
}
453457
if (((tracksData || {}).subs || []).length) {
454458
tracksData.subs.forEach(function(track) {
455459
var textTrackId = nrSubs;
@@ -459,8 +463,8 @@ function WebOsVideo(options) {
459463
}
460464
textTracks.push({
461465
id: textTrackId,
462-
lang: track.lang || null,
463-
label: track.lang || null,
466+
lang: track.lang || 'eng',
467+
label: track.lang || 'eng',
464468
origin: 'EMBEDDED',
465469
embedded: true,
466470
mode: textTrackId === currentSubTrack ? 'showing' : 'disabled',
@@ -478,8 +482,8 @@ function WebOsVideo(options) {
478482
}
479483
audioTracks.push({
480484
id: audioTrackId,
481-
lang: track.lang || null,
482-
label: track.lang || null,
485+
lang: track.lang || 'eng',
486+
label: track.lang || 'eng',
483487
origin: 'EMBEDDED',
484488
embedded: true,
485489
mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',
@@ -1026,16 +1030,16 @@ function WebOsVideo(options) {
10261030
if (videoElement.mediaId) {
10271031
knownMediaId = videoElement.mediaId;
10281032
clearInterval(timer);
1029-
retrieveExtendedTracks()
1030-
cb()
1031-
// subscribe(cb);
1033+
retrieveExtendedTracks();
1034+
cb();
1035+
// subscribe(cb);
10321036
return;
10331037
}
10341038
count++;
10351039
if (count > 4) {
10361040
// console.log('failed to get media id');
10371041
clearInterval(timer);
1038-
retrieveExtendedTracks()
1042+
retrieveExtendedTracks();
10391043
cb();
10401044
}
10411045
}

src/tracksData.js

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
module.exports = function(url, cb) {
22
fetch('http://127.0.0.1:11470/tracks/'+encodeURIComponent(url)).then(function(resp) {
3-
resp.json().then(function(tracks) {
4-
var audioTracks = tracks.filter(function(el) { return el.type === 'audio'; });
5-
var subsTracks = tracks.filter(function(el) { return el.type === 'text'; });
6-
cb({ audio: audioTracks, subs: subsTracks });
7-
}).catch(function(err) {
8-
// eslint-disable-next-line no-console
9-
console.error(err);
10-
cb({ audio: [], subs: [] });
11-
});
3+
return resp.json();
4+
}).then(function(tracks) {
5+
var audioTracks = tracks.filter(function(el) { return el.type === 'audio'; });
6+
var subsTracks = tracks.filter(function(el) { return el.type === 'text'; });
7+
cb({ audio: audioTracks, subs: subsTracks });
128
}).catch(function(err) {
139
// eslint-disable-next-line no-console
1410
console.error(err);
15-
cb({ audio: [], subs: [] });
11+
cb(false);
1612
});
1713
};

0 commit comments

Comments
 (0)