From 3a81d94750a56f9d829063a7fc56e1339d1d1f1c Mon Sep 17 00:00:00 2001 From: radiantmediaplayer Date: Fri, 26 Mar 2021 12:08:33 +0100 Subject: [PATCH 1/2] fix Refused to get unsafe header "age" in Chrome --- src/loader/playlist-loader.ts | 3 +-- src/utils/xhr-loader.ts | 8 ++------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/loader/playlist-loader.ts b/src/loader/playlist-loader.ts index 72d10024ca6..ce6fe62fb23 100644 --- a/src/loader/playlist-loader.ts +++ b/src/loader/playlist-loader.ts @@ -688,8 +688,7 @@ class PlaylistLoader { if ( this.checkAgeHeader && - levelDetails.live && - this.hls.config.lowLatencyMode + levelDetails.live ) { const ageHeader = loader.getResponseHeader('age'); levelDetails.ageHeader = ageHeader ? parseFloat(ageHeader) : 0; 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; } From 8c4865a34fc4ae1d6b8302cb822378bdd58e40b5 Mon Sep 17 00:00:00 2001 From: radiantmediaplayer Date: Fri, 26 Mar 2021 15:19:44 +0100 Subject: [PATCH 2/2] Update playlist-loader.ts --- src/loader/playlist-loader.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/loader/playlist-loader.ts b/src/loader/playlist-loader.ts index ce6fe62fb23..ccbdeb607f2 100644 --- a/src/loader/playlist-loader.ts +++ b/src/loader/playlist-loader.ts @@ -686,10 +686,7 @@ class PlaylistLoader { return; } - if ( - this.checkAgeHeader && - levelDetails.live - ) { + if (this.checkAgeHeader && levelDetails.live) { const ageHeader = loader.getResponseHeader('age'); levelDetails.ageHeader = ageHeader ? parseFloat(ageHeader) : 0; // Avoid repeated browser error log `Refused to get unsafe header "age"` when unnecessary or past attempts failed