From c8c91ff133f9bbeeadf9228a74eb6479f8cdbe72 Mon Sep 17 00:00:00 2001 From: Tianxiao Wang Date: Tue, 16 Apr 2019 18:10:58 +0800 Subject: [PATCH] fix: failed to execute endOfStream on MediaSource (#69) --- packages/griffith-mp4/src/mse/controller.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/griffith-mp4/src/mse/controller.js b/packages/griffith-mp4/src/mse/controller.js index 8fa0c445..fd8c494f 100644 --- a/packages/griffith-mp4/src/mse/controller.js +++ b/packages/griffith-mp4/src/mse/controller.js @@ -261,7 +261,11 @@ export default class MSE { destroy = () => { this.mediaSource.removeEventListener('sourceopen', this.handleSourceOpen) URL.revokeObjectURL(this.video.src) - if (this.mediaSource.readyState === 'open') { + if ( + this.mediaSource.readyState === 'open' && + !this.sourceBuffers.video.updating && + !this.sourceBuffers.audio.updating + ) { this.mediaSource.endOfStream() } }