diff --git a/src/flash.js b/src/flash.js index af0faaf..9aaef7b 100644 --- a/src/flash.js +++ b/src/flash.js @@ -303,7 +303,8 @@ class Flash extends FakeEventTarget implements IEngine { EventType.SEEKED, EventType.ENDED, EventType.VIDEO_TRACK_CHANGED, - EventType.AUDIO_TRACK_CHANGED + EventType.AUDIO_TRACK_CHANGED, + EventType.DURATION_CHANGE ]; events.forEach(eventName => { this._eventManager.listen(this._api, eventName, (event: FakeEvent) => this.dispatchEvent(event)); diff --git a/src/flashhls-adapter.js b/src/flashhls-adapter.js index 661e0c0..f8ae5d4 100644 --- a/src/flashhls-adapter.js +++ b/src/flashhls-adapter.js @@ -127,7 +127,10 @@ class FlashHLSAdapter extends FakeEventTarget { }, position: (timemetrics: Object) => { this.paused = false; - this.duration = timemetrics.duration; + if (this.duration != timemetrics.duration) { + this.duration = timemetrics.duration; + this._trigger(EventType.DURATION_CHANGE); + } this.buffer = timemetrics.buffer; this.watched = timemetrics.watched; if (this.currentTime != timemetrics.position || this.ended) {