Skip to content

Commit 4101377

Browse files
committed
Fixes for Subs / Audio
1 parent 799e968 commit 4101377

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

src/TitanVideo/TitanVideo.js

+28-8
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,7 @@ function TitanVideo(options) {
5858
onPropChanged('buffering');
5959
onPropChanged('buffered');
6060
};
61-
var loadedSubsAudio = false;
6261
videoElement.onplaying = function() {
63-
if (!loadedSubsAudio) {
64-
loadedSubsAudio = true;
65-
onPropChanged('subtitlesTracks');
66-
onPropChanged('selectedSubtitlesTrackId');
67-
onPropChanged('audioTracks');
68-
onPropChanged('selectedAudioTrackId');
69-
}
7062
onPropChanged('time');
7163
onPropChanged('buffering');
7264
onPropChanged('buffered');
@@ -499,6 +491,16 @@ function TitanVideo(options) {
499491
}
500492
}
501493

494+
var selectedAudioTrack = getProp('audioTracks')
495+
.find(function(track) {
496+
return track.id === propValue;
497+
});
498+
499+
if (selectedAudioTrack) {
500+
onPropChanged('selectedAudioTrackId');
501+
events.emit('audioTrackLoaded', selectedAudioTrack);
502+
}
503+
502504
break;
503505
}
504506
case 'volume': {
@@ -541,6 +543,24 @@ function TitanVideo(options) {
541543
onPropChanged('duration');
542544
onPropChanged('buffering');
543545
onPropChanged('buffered');
546+
if (videoElement.textTracks) {
547+
videoElement.textTracks.onaddtrack = function() {
548+
videoElement.textTracks.onaddtrack = null;
549+
setTimeout(function() {
550+
onPropChanged('subtitlesTracks');
551+
onPropChanged('selectedSubtitlesTrackId');
552+
});
553+
}
554+
}
555+
if (videoElement.audioTracks) {
556+
videoElement.audioTracks.onaddtrack = function() {
557+
videoElement.audioTracks.onaddtrack = null;
558+
setTimeout(function() {
559+
onPropChanged('audioTracks');
560+
onPropChanged('selectedAudioTrackId');
561+
});
562+
}
563+
}
544564
videoElement.src = stream.url;
545565
} else {
546566
onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {

0 commit comments

Comments
 (0)