Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Update youtube.js
  • Loading branch information
joedolson committed Jul 24, 2025
commit 71af5173dfeedcb4c7ad2897dc85f9e58335161d
15 changes: 13 additions & 2 deletions scripts/youtube.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,17 +219,18 @@
var deferred = new $.Deferred();
var promise = deferred.promise();

var thisObj, ytTracks, i, trackLang, trackLabel, isDefaultTrack;
var thisObj, ytTracks, i, trackLang, trackLabel, isDefaultTrack, apiTriggered;

thisObj = this;
apiTriggered = false;

if (!this.youTubePlayer.getOption('captions','tracklist') ) {

// no tracks were found, probably because the captions module hasn't loaded
// play video briefly (required in order to load the captions module)
// and after the apiChange event is triggered, try again to retrieve tracks
this.youTubePlayer.addEventListener('onApiChange',function(x) {

apiTriggered = true;
// getDuration() also requires video to play briefly
// so, let's set that while we're here
thisObj.duration = thisObj.youTubePlayer.getDuration();
Expand Down Expand Up @@ -305,6 +306,16 @@
// Trigger the above event listener by briefly playing the video
this.loadingYouTubeCaptions = true;
this.youTubePlayer.playVideo();
setTimeout(() => {
if ( promise.state() === 'pending' && ! apiTriggered ){
setTimeout( () => {
// Code to be executed after a delay
thisObj.youTubePlayer.pauseVideo();
deferred.resolve();
}, 500 );
}
}, 500 );

}
return promise;
};
Expand Down