diff --git a/packages/griffith-mp4/src/mse/controller.js b/packages/griffith-mp4/src/mse/controller.js index 2ebd58d4..ce1ac4e3 100644 --- a/packages/griffith-mp4/src/mse/controller.js +++ b/packages/griffith-mp4/src/mse/controller.js @@ -32,7 +32,6 @@ export default class MSE { this.handleTimeUpdate() } }) - this.init() } init() { @@ -134,7 +133,7 @@ export default class MSE { } = this.mp4Probe if (this.mediaSource.readyState === 'open') { - if (offsetInterVal[1] === videoSamplesLength) { + if (offsetInterVal[1] === videoSamplesLength && !this.mseUpdating) { this.mediaSource.endOfStream() } else if (this.shouldFetchNextSegment()) { this.seek() diff --git a/packages/griffith-mp4/src/player.js b/packages/griffith-mp4/src/player.js index 7231b087..3e2cc8f1 100644 --- a/packages/griffith-mp4/src/player.js +++ b/packages/griffith-mp4/src/player.js @@ -7,6 +7,7 @@ const {isSafari} = ua export default class Player extends Component { componentDidMount() { this.mse = new MSE(this.video, this.props.src) + this.mse.init() } componentDidUpdate(prevProps) {