Skip to content
This repository was archived by the owner on Sep 28, 2025. It is now read-only.

Commit 9dafde9

Browse files
poshejhonatangcavalcanti
authored andcommitted
feat(hls): propagate FRAG_CHANGED event
This event is fired when fragment matching with current video position is changing. A custom event is being registered to allow external plugins to listen for this event.
1 parent da8c174 commit 9dafde9

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/hls.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const { now, assign, listContainsIgnoreCase } = Utils
99

1010
const AUTO = -1
1111

12+
Events.register('PLAYBACK_FRAGMENT_CHANGED')
1213
Events.register('PLAYBACK_FRAGMENT_PARSING_METADATA')
1314

1415
export default class HlsjsPlayback extends HTML5Video {
@@ -164,6 +165,7 @@ export default class HlsjsPlayback extends HTML5Video {
164165
this._hls.on(HLSJS.Events.LEVEL_LOADED, (evt, data) => this._updatePlaybackType(evt, data))
165166
this._hls.on(HLSJS.Events.LEVEL_UPDATED, (evt, data) => this._onLevelUpdated(evt, data))
166167
this._hls.on(HLSJS.Events.LEVEL_SWITCHING, (evt,data) => this._onLevelSwitch(evt, data))
168+
this._hls.on(HLSJS.Events.FRAG_CHANGED, (evt, data) => this._onFragmentChanged(evt, data))
167169
this._hls.on(HLSJS.Events.FRAG_LOADED, (evt, data) => this._onFragmentLoaded(evt, data))
168170
this._hls.on(HLSJS.Events.FRAG_PARSING_METADATA, (evt, data) => this._onFragmentParsingMetadata(evt, data))
169171
this._hls.on(HLSJS.Events.ERROR, (evt, data) => this._onHLSJSError(evt, data))
@@ -588,6 +590,10 @@ export default class HlsjsPlayback extends HTML5Video {
588590
startTimeChanged && this._onProgress()
589591
}
590592

593+
_onFragmentChanged(evt, data) {
594+
this.trigger(Events.Custom.PLAYBACK_FRAGMENT_CHANGED, data)
595+
}
596+
591597
_onFragmentLoaded(evt, data) {
592598
this.trigger(Events.PLAYBACK_FRAGMENT_LOADED, data)
593599
}

src/hls.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ describe('HLS playback', function() {
104104
})
105105
})
106106

107+
it('registers PLAYBACK_FRAGMENT_CHANGED event', function() {
108+
expect(Events.Custom.PLAYBACK_FRAGMENT_CHANGED).toEqual('playbackFragmentChanged')
109+
})
110+
107111
it('registers PLAYBACK_FRAGMENT_PARSING_METADATA event', function() {
108112
expect(Events.Custom.PLAYBACK_FRAGMENT_PARSING_METADATA).toEqual('playbackFragmentParsingMetadata')
109113
})

0 commit comments

Comments
 (0)