diff --git a/src/loader/playlist-loader.ts b/src/loader/playlist-loader.ts index 385f8575a79..4dfb45daac8 100644 --- a/src/loader/playlist-loader.ts +++ b/src/loader/playlist-loader.ts @@ -70,8 +70,6 @@ class PlaylistLoader { [key: string]: Loader; } = Object.create(null); - private checkAgeHeader: boolean = true; - constructor(hls: Hls) { this.hls = hls; this.registerListeners(); @@ -148,7 +146,6 @@ class PlaylistLoader { data: ManifestLoadingData ) { const { url } = data; - this.checkAgeHeader = true; this.load({ id: null, groupId: null, @@ -686,13 +683,10 @@ class PlaylistLoader { return; } - // Avoid repeated browser error log `Refused to get unsafe header "age"` when unnecessary or past attempts failed - const checkAgeHeader = this.checkAgeHeader && levelDetails.live; - const ageHeader: string | null = checkAgeHeader - ? loader.getResponseHeader('age') - : null; - levelDetails.ageHeader = ageHeader ? parseFloat(ageHeader) : 0; - this.checkAgeHeader = !!ageHeader; + if (levelDetails.live) { + const ageHeader = loader.getResponseHeader('age'); + levelDetails.ageHeader = ageHeader ? parseFloat(ageHeader) : 0; + } switch (type) { case PlaylistContextType.MANIFEST: diff --git a/src/utils/xhr-loader.ts b/src/utils/xhr-loader.ts index 530b60243dc..ce6f2605d19 100644 --- a/src/utils/xhr-loader.ts +++ b/src/utils/xhr-loader.ts @@ -250,12 +250,8 @@ class XhrLoader implements Loader { } getResponseHeader(name: string): string | null { - if (this.loader) { - try { - return this.loader.getResponseHeader(name); - } catch (error) { - /* Could not get headers */ - } + if (this.loader && this.loader.getAllResponseHeaders().indexOf(name) >= 0) { + return this.loader.getResponseHeader(name); } return null; }