Skip to content

Commit

Permalink
fix: do not use remove source buffer on ie 11 (#904)
Browse files Browse the repository at this point in the history
Also fixes intermittent test issues related to appendsdone tests.
  • Loading branch information
brandonocasey authored Jul 14, 2020
1 parent 0a54ae2 commit 1ab0f07
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 30 deletions.
5 changes: 4 additions & 1 deletion src/source-updater.js
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,10 @@ export default class SourceUpdater extends videojs.EventTarget {
* if removeSourceBuffer can be called.
*/
canRemoveSourceBuffer() {
return window.MediaSource &&
// IE reports that it supports removeSourceBuffer, but often throws
// errors when attempting to use the function. So we report that it
// does not support removeSourceBuffer.
return !videojs.browser.IE_VERSION && window.MediaSource &&
window.MediaSource.prototype &&
typeof window.MediaSource.prototype.removeSourceBuffer === 'function';
}
Expand Down
33 changes: 4 additions & 29 deletions test/segment-loader.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -767,36 +767,14 @@ QUnit.module('SegmentLoader', function(hooks) {
const done = assert.async();

return setupMediaSource(loader.mediaSource_, loader.sourceUpdater_).then(() => {
let appendsdone = false;

loader.playlist(playlistWithDuration(20));
loader.load();
this.clock.tick(1);

standardXHRResponse(this.requests.shift(), muxedSegment());
loader.one('appendsdone', () => {
appendsdone = true;
});

let appends = 0;

const finish = function() {
appends++;

if (appends < 2) {
return;
}

assert.ok(appendsdone, 'appendsdone triggered');
assert.ok(true, 'appendsdone triggered');
done();
};

loader.sourceUpdater_.videoBuffer.addEventListener('updateend', () => {
loader.sourceUpdater_.videoQueueCallback(finish);
});

loader.sourceUpdater_.audioBuffer.addEventListener('updateend', () => {
loader.sourceUpdater_.audioQueueCallback(finish);
});
});
});
Expand All @@ -816,10 +794,6 @@ QUnit.module('SegmentLoader', function(hooks) {
appendsdone = true;
});

loader.one('appending', () => {
loader.abort();
});

let appends = 0;

const finish = function() {
Expand All @@ -829,11 +803,12 @@ QUnit.module('SegmentLoader', function(hooks) {
return;
}

assert.notOk(appendsdone, 'appendsdone triggered');
assert.notOk(appendsdone, 'appendsdone not triggered');
done();
};

loader.sourceUpdater_.videoBuffer.addEventListener('updateend', () => {
loader.one('appending', () => {
loader.abort();
loader.sourceUpdater_.videoQueueCallback(finish);
loader.sourceUpdater_.audioQueueCallback(finish);
});
Expand Down

0 comments on commit 1ab0f07

Please sign in to comment.