From a5c6c2b3a84437d5f57ed5a5c25c6a068dae7e95 Mon Sep 17 00:00:00 2001 From: brandonocasey Date: Tue, 10 Nov 2020 15:32:15 -0500 Subject: [PATCH 1/2] fix: abort all loaders on earlyabort, update comment --- src/config.js | 2 +- src/master-playlist-controller.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/config.js b/src/config.js index 6ccb0adc3..6a0a00716 100644 --- a/src/config.js +++ b/src/config.js @@ -12,7 +12,7 @@ export default { BUFFER_LOW_WATER_LINE: 0, MAX_BUFFER_LOW_WATER_LINE: 30, - // TODO: Remove this when useBufferWaterLines is removed + // TODO: Remove this when experimentalBufferBasedABR is removed EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE: 16, BUFFER_LOW_WATER_LINE_RATE: 1, diff --git a/src/master-playlist-controller.js b/src/master-playlist-controller.js index 9486ce127..3d3232676 100644 --- a/src/master-playlist-controller.js +++ b/src/master-playlist-controller.js @@ -643,6 +643,14 @@ export class MasterPlaylistController extends videojs.EventTarget { return; } + this.mainSegmentLoader_.abort(); + if (this.mediaTypes_.AUDIO.activePlaylistLoader) { + this.audioSegmentLoader_.abort(); + } + if (this.mediaTypes_.SUBTITLES.activePlaylistLoader) { + this.subtitleSegmentLoader_.abort(); + } + this.blacklistCurrentPlaylist({ message: 'Aborted early because there isn\'t enough bandwidth to complete the ' + 'request without rebuffering.' From cca3c65aa40fdcac0a7957012f23361a514a3f84 Mon Sep 17 00:00:00 2001 From: brandonocasey Date: Tue, 10 Nov 2020 15:45:08 -0500 Subject: [PATCH 2/2] switch to delegate loaders --- src/master-playlist-controller.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/master-playlist-controller.js b/src/master-playlist-controller.js index 3d3232676..36ec729af 100644 --- a/src/master-playlist-controller.js +++ b/src/master-playlist-controller.js @@ -643,13 +643,7 @@ export class MasterPlaylistController extends videojs.EventTarget { return; } - this.mainSegmentLoader_.abort(); - if (this.mediaTypes_.AUDIO.activePlaylistLoader) { - this.audioSegmentLoader_.abort(); - } - if (this.mediaTypes_.SUBTITLES.activePlaylistLoader) { - this.subtitleSegmentLoader_.abort(); - } + this.delegateLoaders_('all', ['abort']); this.blacklistCurrentPlaylist({ message: 'Aborted early because there isn\'t enough bandwidth to complete the ' +