Skip to content

Commit e85009d

Browse files
author
Álvaro Velad Galván
authored
Fix: Fix clearing buffer when requested for already-selected variant (#3477)
Close: #3450
1 parent f7facc0 commit e85009d

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

lib/media/streaming_engine.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,8 +317,10 @@ shaka.media.StreamingEngine = class {
317317
* @param {shaka.extern.Variant} variant
318318
* @param {boolean=} clearBuffer
319319
* @param {number=} safeMargin
320+
* @param {boolean=} force
321+
* If true, reload the variant even if it did not change.
320322
*/
321-
switchVariant(variant, clearBuffer = false, safeMargin = 0) {
323+
switchVariant(variant, clearBuffer = false, safeMargin = 0, force = false) {
322324
this.currentVariant_ = variant;
323325

324326
if (!this.startupComplete_) {
@@ -329,12 +331,12 @@ shaka.media.StreamingEngine = class {
329331
if (variant.video) {
330332
this.switchInternal_(
331333
variant.video, /* clearBuffer= */ clearBuffer,
332-
/* safeMargin= */ safeMargin, /* force= */ false);
334+
/* safeMargin= */ safeMargin, /* force= */ force);
333335
}
334336
if (variant.audio) {
335337
this.switchInternal_(
336338
variant.audio, /* clearBuffer= */ clearBuffer,
337-
/* safeMargin= */ safeMargin, /* force= */ false);
339+
/* safeMargin= */ safeMargin, /* force= */ force);
338340
}
339341
}
340342

lib/player.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4968,6 +4968,11 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
49684968
const currentVariant = this.streamingEngine_.getCurrentVariant();
49694969
if (variant == currentVariant) {
49704970
shaka.log.debug('Variant already selected.');
4971+
// If you want to clear the buffer, we force to reselect the same variant
4972+
if (clearBuffer) {
4973+
this.streamingEngine_.switchVariant(variant, clearBuffer, safeMargin,
4974+
/* force= */ true);
4975+
}
49714976
return;
49724977
}
49734978

0 commit comments

Comments
 (0)