Only allow one instance of offset validation watcher per video element

This commit is contained in:
Tamius Han 2021-02-08 20:44:34 +01:00
parent f63fd895fe
commit cb5218e52d

View File

@ -25,6 +25,8 @@ class VideoData {
this.videoLoaded = false;
this.videoDimensionsLoaded = true;
this.validationId = null;
this.dimensions = {
width: this.video.offsetWidth,
height: this.video.offsetHeight,
@ -276,8 +278,14 @@ class VideoData {
}
}
/**
* Starts fallback change detection (validates whether currently applied settings are correct)
*/
async fallbackChangeDetection() {
while (!this.destroyed && !this.invalid) {
const validationId = Date.now();
this.validationId = validationId;
while (!this.destroyed && !this.invalid && this.validationId === validationId) {
await this.sleep(500);
this.doPeriodicFallbackChangeDetectionCheck();
}