@gcorevideo/player 2.25.8 → 2.25.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core.js +23 -19
- package/dist/index.css +831 -831
- package/dist/index.embed.js +93 -77
- package/dist/index.js +37 -24
- package/lib/Player.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.d.ts +0 -1
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +22 -18
- package/lib/plugins/subtitles/ClosedCaptions.d.ts +9 -1
- package/lib/plugins/subtitles/ClosedCaptions.d.ts.map +1 -1
- package/lib/plugins/subtitles/ClosedCaptions.js +14 -5
- package/package.json +1 -1
- package/src/Player.ts +0 -1
- package/src/playback/hls-playback/HlsPlayback.ts +22 -26
- package/src/plugins/subtitles/ClosedCaptions.ts +18 -5
- package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -42124,9 +42124,9 @@ class HlsPlayback extends BasePlayback {
|
|
|
42124
42124
|
this._hls.on(Hls.Events.FRAG_LOADED, (evt, data) => this._onFragmentLoaded(evt, data));
|
|
42125
42125
|
this._hls.on(Hls.Events.FRAG_PARSING_METADATA, (evt, data) => this._onFragmentParsingMetadata(evt, data));
|
|
42126
42126
|
this._hls.on(Hls.Events.ERROR, (evt, data) => this._onHLSJSError(evt, data));
|
|
42127
|
-
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, (
|
|
42128
|
-
this.
|
|
42129
|
-
|
|
42127
|
+
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, () =>
|
|
42128
|
+
// this._onSubtitleLoaded(),
|
|
42129
|
+
// )
|
|
42130
42130
|
this._hls.on(Events.AUDIO_TRACKS_UPDATED, (evt, data) => this._onAudioTracksUpdated(evt, data));
|
|
42131
42131
|
this._hls.on(Events.AUDIO_TRACK_SWITCHED, (evt, data) => this._onAudioTrackSwitched(evt, data));
|
|
42132
42132
|
this.bindCustomListeners();
|
|
@@ -42456,11 +42456,13 @@ class HlsPlayback extends BasePlayback {
|
|
|
42456
42456
|
this._playbackType = (data.details.live ? Playback.LIVE : Playback.VOD);
|
|
42457
42457
|
this._onLevelUpdated(evt, data);
|
|
42458
42458
|
// Live stream subtitle tracks detection hack (may not immediately available)
|
|
42459
|
-
if (
|
|
42460
|
-
|
|
42461
|
-
|
|
42462
|
-
|
|
42463
|
-
|
|
42459
|
+
// if (
|
|
42460
|
+
// this._ccTracksUpdated &&
|
|
42461
|
+
// this._playbackType === Playback.LIVE &&
|
|
42462
|
+
// this.hasClosedCaptionsTracks
|
|
42463
|
+
// ) {
|
|
42464
|
+
// this._onSubtitleLoaded()
|
|
42465
|
+
// }
|
|
42464
42466
|
if (prevPlaybackType !== this._playbackType) {
|
|
42465
42467
|
this._updateSettings();
|
|
42466
42468
|
}
|
|
@@ -42613,16 +42615,18 @@ class HlsPlayback extends BasePlayback {
|
|
|
42613
42615
|
_onFragmentLoaded(evt, data) {
|
|
42614
42616
|
this.trigger(Events$1.PLAYBACK_FRAGMENT_LOADED, data);
|
|
42615
42617
|
}
|
|
42616
|
-
_onSubtitleLoaded() {
|
|
42617
|
-
|
|
42618
|
-
|
|
42619
|
-
|
|
42620
|
-
|
|
42621
|
-
|
|
42622
|
-
|
|
42623
|
-
|
|
42624
|
-
|
|
42625
|
-
|
|
42618
|
+
// _onSubtitleLoaded() {
|
|
42619
|
+
// trace(`${T} _onSubtitleLoaded`)
|
|
42620
|
+
// // This event may be triggered multiple times
|
|
42621
|
+
// // Setup CC only once (disable CC by default)
|
|
42622
|
+
// if (!this._ccIsSetup) {
|
|
42623
|
+
// this.trigger(Events.PLAYBACK_SUBTITLE_AVAILABLE)
|
|
42624
|
+
// const trackId =
|
|
42625
|
+
// this._playbackType === Playback.LIVE ? -1 : this.closedCaptionsTrackId
|
|
42626
|
+
// this.closedCaptionsTrackId = trackId
|
|
42627
|
+
// this._ccIsSetup = true
|
|
42628
|
+
// }
|
|
42629
|
+
// }
|
|
42626
42630
|
_onLevelSwitch(evt, data) {
|
|
42627
42631
|
if (!this.levels.length) {
|
|
42628
42632
|
this._fillLevels();
|
|
@@ -43314,7 +43318,7 @@ class Player {
|
|
|
43314
43318
|
}
|
|
43315
43319
|
}
|
|
43316
43320
|
|
|
43317
|
-
var version$1 = "2.25.
|
|
43321
|
+
var version$1 = "2.25.10";
|
|
43318
43322
|
|
|
43319
43323
|
var packages = {
|
|
43320
43324
|
"node_modules/@clappr/core": {
|
|
@@ -51652,6 +51656,14 @@ const T$3 = 'plugins.cc';
|
|
|
51652
51656
|
* - {@link MediaControl}
|
|
51653
51657
|
*
|
|
51654
51658
|
* Configuration options - {@link ClosedCaptionsPluginSettings}
|
|
51659
|
+
*
|
|
51660
|
+
* Known issues:
|
|
51661
|
+
*
|
|
51662
|
+
* 1. When media source changes, the subtitles tracks aren't reloaded. Possible solution: use `playback.recycleVideo = false`
|
|
51663
|
+
* {@link PlayerConfig | main config option}, which will force new video element creation every time media source changes.
|
|
51664
|
+
* However, this may lead to other issues, such as autoplay not working (after media source has been changed).
|
|
51665
|
+
* {@link https://github.com/video-dev/hls.js/issues/2198 | related discussion}
|
|
51666
|
+
*
|
|
51655
51667
|
* @example
|
|
51656
51668
|
* ```ts
|
|
51657
51669
|
* import { ClosedCaptions } from '@gcorevideo/player'
|
|
@@ -51720,7 +51732,6 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
51720
51732
|
*/
|
|
51721
51733
|
bindEvents() {
|
|
51722
51734
|
this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
|
|
51723
|
-
this.listenTo(this.core, Events$1.CORE_RESIZE, this.playerResize);
|
|
51724
51735
|
this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);
|
|
51725
51736
|
}
|
|
51726
51737
|
onCoreReady() {
|
|
@@ -51737,7 +51748,8 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
51737
51748
|
});
|
|
51738
51749
|
}
|
|
51739
51750
|
onContainerChanged() {
|
|
51740
|
-
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_FULLSCREEN, this.
|
|
51751
|
+
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_FULLSCREEN, this.onContainerResize);
|
|
51752
|
+
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_RESIZE, this.onContainerResize);
|
|
51741
51753
|
this.listenTo(this.core.activeContainer, 'container:advertisement:start', this.onStartAd);
|
|
51742
51754
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_SUBTITLE_AVAILABLE, this.onSubtitleAvailable);
|
|
51743
51755
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_SUBTITLE_CHANGED, this.onSubtitleChanged);
|
|
@@ -51760,7 +51772,9 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
51760
51772
|
});
|
|
51761
51773
|
}
|
|
51762
51774
|
onSubtitleAvailable() {
|
|
51763
|
-
trace(`${T$3} onSubtitleAvailable
|
|
51775
|
+
trace(`${T$3} onSubtitleAvailable`, {
|
|
51776
|
+
tracks: this.core.activePlayback.closedCaptionsTracks.length,
|
|
51777
|
+
});
|
|
51764
51778
|
this.applyTracks();
|
|
51765
51779
|
this.mount();
|
|
51766
51780
|
}
|
|
@@ -51814,8 +51828,7 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
51814
51828
|
this.show();
|
|
51815
51829
|
this.stopListening(this.core.activeContainer, 'container:advertisement:finish', this.onFinishAd);
|
|
51816
51830
|
}
|
|
51817
|
-
|
|
51818
|
-
trace(`${T$3} playerResize`);
|
|
51831
|
+
onContainerResize() {
|
|
51819
51832
|
const shouldShow = this.core.activeContainer &&
|
|
51820
51833
|
isFullscreen(this.core.activeContainer.el) &&
|
|
51821
51834
|
this.track &&
|
package/lib/Player.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,aAAa,EAEb,uBAAuB,EACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,IACjD,CAAC,SAAS,WAAW,CAAC,IAAI,GACtB,CAAC,MAAM,CAAC,GACR,CAAC,SAAS,WAAW,CAAC,YAAY,GAClC,CAAC,MAAM,CAAC,GACR,CAAC,SAAS,WAAW,CAAC,UAAU,GAChC,CAAC,YAAY,CAAC,GACd,CAAC,SAAS,WAAW,CAAC,MAAM,GAC5B,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GACnC,CAAC,SAAS,WAAW,CAAC,UAAU,GAChC,CAAC,OAAO,CAAC,GACT,CAAC,SAAS,WAAW,CAAC,KAAK,GAC3B,CAAC,aAAa,CAAC,GACf,EAAE,CAAA;AAER;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,CACtD,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAA;AAeT;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAA;AAI3D;;;;;;;GAOG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,MAAM,EAAE,YAAY;IAOhC;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAIlE;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAInE;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,7 +97,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
97
97
|
private _onLevelUpdated;
|
|
98
98
|
_onFragmentChanged(evt: HlsEvents.FRAG_CHANGED, data: FragChangedData): void;
|
|
99
99
|
_onFragmentLoaded(evt: HlsEvents.FRAG_LOADED, data: FragLoadedData): void;
|
|
100
|
-
_onSubtitleLoaded(): void;
|
|
101
100
|
_onLevelSwitch(evt: HlsEvents.LEVEL_SWITCHING, data: LevelSwitchingData): void;
|
|
102
101
|
_onLevelSwitched(evt: HlsEvents.LEVEL_SWITCHED, data: {
|
|
103
102
|
level: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EACZ,MAAM,IAAI,SAAS,EAInB,KAAK,eAAe,EACpB,KAAK,cAAc,EAInB,KAAK,kBAAkB,EAIxB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAIL,YAAY,EAEb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AAoCzE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,OAAO,CAAC,gBAAgB,CAAwB;IAEhD,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,mCAAmC,CAAQ;IAEnD,OAAO,CAAC,8BAA8B,CAAI;IAE1C,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,eAAe,CAA4B;IAEnD,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO,CAAC,0BAA0B,CAA+B;IAEjE,OAAO,CAAC,wBAAwB,CAA+B;IAE/D,OAAO,CAAC,eAAe,CAAQ;IAE/B,OAAO,CAAC,uBAAuB,CAAI;IAEnC,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,wBAAwB,CAAI;IAEpC,OAAO,CAAC,gBAAgB,CAAsB;IAE9C,OAAO,CAAC,yBAAyB,CAAI;IAErC,OAAO,CAAC,yBAAyB,CAAQ;IAEzC,OAAO,CAAC,uBAAuB,CAAQ;IAEvC,OAAO,CAAC,sBAAsB,CAAsB;IAEpD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,IAAI,MAAM,mBAET;IAED,IAAI,YAAY,IAIK,MAAM,CAF1B;IAED,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAS1B;IAED,IAAI,OAAO,WAGV;IAED,IAAI,sBAAsB,SAIzB;IAED,OAAO,KAAK,UAAU,GASrB;IAED,OAAO,KAAK,IAAI,GAEf;IAID,OAAO,KAAK,sBAAsB,GAcjC;IAID,IAAI,oBAAoB,WAevB;IAED,OAAO,KAAK,SAAS,GAEpB;IAmBD,OAAO,KAAK,2BAA2B,GAMtC;IAED,IAAI,iBAAiB,kBAEpB;IAED,IAAI,cAAc;;MAEjB;IAED,IAAI,eAAe,QAKlB;IAED,IAAI,WAAW,QAEd;IAED,IAAI,gBAAgB,kBAcnB;IAED,MAAM,KAAK,KAAK,iBAEf;gBAEW,GAAG,IAAI,EAAE,GAAG,EAAE;IAU1B,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
|
|
@@ -288,9 +288,9 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
288
288
|
this._hls.on(HLSJS.Events.FRAG_LOADED, (evt, data) => this._onFragmentLoaded(evt, data));
|
|
289
289
|
this._hls.on(HLSJS.Events.FRAG_PARSING_METADATA, (evt, data) => this._onFragmentParsingMetadata(evt, data));
|
|
290
290
|
this._hls.on(HLSJS.Events.ERROR, (evt, data) => this._onHLSJSError(evt, data));
|
|
291
|
-
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, (
|
|
292
|
-
this.
|
|
293
|
-
|
|
291
|
+
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, () =>
|
|
292
|
+
// this._onSubtitleLoaded(),
|
|
293
|
+
// )
|
|
294
294
|
this._hls.on(HlsEvents.AUDIO_TRACKS_UPDATED, (evt, data) => this._onAudioTracksUpdated(evt, data));
|
|
295
295
|
this._hls.on(HlsEvents.AUDIO_TRACK_SWITCHED, (evt, data) => this._onAudioTrackSwitched(evt, data));
|
|
296
296
|
this.bindCustomListeners();
|
|
@@ -621,11 +621,13 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
621
621
|
this._playbackType = (data.details.live ? Playback.LIVE : Playback.VOD);
|
|
622
622
|
this._onLevelUpdated(evt, data);
|
|
623
623
|
// Live stream subtitle tracks detection hack (may not immediately available)
|
|
624
|
-
if (
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
624
|
+
// if (
|
|
625
|
+
// this._ccTracksUpdated &&
|
|
626
|
+
// this._playbackType === Playback.LIVE &&
|
|
627
|
+
// this.hasClosedCaptionsTracks
|
|
628
|
+
// ) {
|
|
629
|
+
// this._onSubtitleLoaded()
|
|
630
|
+
// }
|
|
629
631
|
if (prevPlaybackType !== this._playbackType) {
|
|
630
632
|
this._updateSettings();
|
|
631
633
|
}
|
|
@@ -778,16 +780,18 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
778
780
|
_onFragmentLoaded(evt, data) {
|
|
779
781
|
this.trigger(Events.PLAYBACK_FRAGMENT_LOADED, data);
|
|
780
782
|
}
|
|
781
|
-
_onSubtitleLoaded() {
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
783
|
+
// _onSubtitleLoaded() {
|
|
784
|
+
// trace(`${T} _onSubtitleLoaded`)
|
|
785
|
+
// // This event may be triggered multiple times
|
|
786
|
+
// // Setup CC only once (disable CC by default)
|
|
787
|
+
// if (!this._ccIsSetup) {
|
|
788
|
+
// this.trigger(Events.PLAYBACK_SUBTITLE_AVAILABLE)
|
|
789
|
+
// const trackId =
|
|
790
|
+
// this._playbackType === Playback.LIVE ? -1 : this.closedCaptionsTrackId
|
|
791
|
+
// this.closedCaptionsTrackId = trackId
|
|
792
|
+
// this._ccIsSetup = true
|
|
793
|
+
// }
|
|
794
|
+
// }
|
|
791
795
|
_onLevelSwitch(evt, data) {
|
|
792
796
|
if (!this.levels.length) {
|
|
793
797
|
this._fillLevels();
|
|
@@ -23,6 +23,14 @@ export type ClosedCaptionsPluginSettings = {
|
|
|
23
23
|
* - {@link MediaControl}
|
|
24
24
|
*
|
|
25
25
|
* Configuration options - {@link ClosedCaptionsPluginSettings}
|
|
26
|
+
*
|
|
27
|
+
* Known issues:
|
|
28
|
+
*
|
|
29
|
+
* 1. When media source changes, the subtitles tracks aren't reloaded. Possible solution: use `playback.recycleVideo = false`
|
|
30
|
+
* {@link PlayerConfig | main config option}, which will force new video element creation every time media source changes.
|
|
31
|
+
* However, this may lead to other issues, such as autoplay not working (after media source has been changed).
|
|
32
|
+
* {@link https://github.com/video-dev/hls.js/issues/2198 | related discussion}
|
|
33
|
+
*
|
|
26
34
|
* @example
|
|
27
35
|
* ```ts
|
|
28
36
|
* import { ClosedCaptions } from '@gcorevideo/player'
|
|
@@ -85,7 +93,7 @@ export declare class ClosedCaptions extends UICorePlugin {
|
|
|
85
93
|
private applyTracks;
|
|
86
94
|
private onStartAd;
|
|
87
95
|
private onFinishAd;
|
|
88
|
-
private
|
|
96
|
+
private onContainerResize;
|
|
89
97
|
/**
|
|
90
98
|
* Hides the subtitles menu and the subtitles.
|
|
91
99
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClosedCaptions.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/ClosedCaptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAwB,MAAM,cAAc,CAAA;AAOzE,OAAO,sCAAsC,CAAA;AAgB7C;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"ClosedCaptions.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/ClosedCaptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAwB,MAAM,cAAc,CAAA;AAOzE,OAAO,sCAAsC,CAAA;AAgB7C;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,KAAK,CAA6B;IAE1C,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,KAAK,CAA2B;IAExC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuB;IAE3D;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED;;OAEG;IACH,IAAa,MAAM;;;MAKlB;IAED,OAAO,KAAK,mBAAmB,GAM9B;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,IAAI;IAcJ;;OAEG;IACH,IAAI;IAiBJ,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACM,MAAM;IA4Bf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,KAAK;CAMd"}
|
|
@@ -25,6 +25,14 @@ const T = 'plugins.cc';
|
|
|
25
25
|
* - {@link MediaControl}
|
|
26
26
|
*
|
|
27
27
|
* Configuration options - {@link ClosedCaptionsPluginSettings}
|
|
28
|
+
*
|
|
29
|
+
* Known issues:
|
|
30
|
+
*
|
|
31
|
+
* 1. When media source changes, the subtitles tracks aren't reloaded. Possible solution: use `playback.recycleVideo = false`
|
|
32
|
+
* {@link PlayerConfig | main config option}, which will force new video element creation every time media source changes.
|
|
33
|
+
* However, this may lead to other issues, such as autoplay not working (after media source has been changed).
|
|
34
|
+
* {@link https://github.com/video-dev/hls.js/issues/2198 | related discussion}
|
|
35
|
+
*
|
|
28
36
|
* @example
|
|
29
37
|
* ```ts
|
|
30
38
|
* import { ClosedCaptions } from '@gcorevideo/player'
|
|
@@ -93,7 +101,6 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
93
101
|
*/
|
|
94
102
|
bindEvents() {
|
|
95
103
|
this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
|
|
96
|
-
this.listenTo(this.core, Events.CORE_RESIZE, this.playerResize);
|
|
97
104
|
this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);
|
|
98
105
|
}
|
|
99
106
|
onCoreReady() {
|
|
@@ -110,7 +117,8 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
110
117
|
});
|
|
111
118
|
}
|
|
112
119
|
onContainerChanged() {
|
|
113
|
-
this.listenTo(this.core.activeContainer, Events.CONTAINER_FULLSCREEN, this.
|
|
120
|
+
this.listenTo(this.core.activeContainer, Events.CONTAINER_FULLSCREEN, this.onContainerResize);
|
|
121
|
+
this.listenTo(this.core.activeContainer, Events.CONTAINER_RESIZE, this.onContainerResize);
|
|
114
122
|
this.listenTo(this.core.activeContainer, 'container:advertisement:start', this.onStartAd);
|
|
115
123
|
this.listenTo(this.core.activePlayback, Events.PLAYBACK_SUBTITLE_AVAILABLE, this.onSubtitleAvailable);
|
|
116
124
|
this.listenTo(this.core.activePlayback, Events.PLAYBACK_SUBTITLE_CHANGED, this.onSubtitleChanged);
|
|
@@ -133,7 +141,9 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
133
141
|
});
|
|
134
142
|
}
|
|
135
143
|
onSubtitleAvailable() {
|
|
136
|
-
trace(`${T} onSubtitleAvailable
|
|
144
|
+
trace(`${T} onSubtitleAvailable`, {
|
|
145
|
+
tracks: this.core.activePlayback.closedCaptionsTracks.length,
|
|
146
|
+
});
|
|
137
147
|
this.applyTracks();
|
|
138
148
|
this.mount();
|
|
139
149
|
}
|
|
@@ -187,8 +197,7 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
187
197
|
this.show();
|
|
188
198
|
this.stopListening(this.core.activeContainer, 'container:advertisement:finish', this.onFinishAd);
|
|
189
199
|
}
|
|
190
|
-
|
|
191
|
-
trace(`${T} playerResize`);
|
|
200
|
+
onContainerResize() {
|
|
192
201
|
const shouldShow = this.core.activeContainer &&
|
|
193
202
|
isFullscreen(this.core.activeContainer.el) &&
|
|
194
203
|
this.track &&
|
package/package.json
CHANGED
package/src/Player.ts
CHANGED
|
@@ -167,7 +167,6 @@ export class Player {
|
|
|
167
167
|
if (this.config.debug === 'all' || this.config.debug === 'clappr') {
|
|
168
168
|
Log.setLevel(0)
|
|
169
169
|
}
|
|
170
|
-
|
|
171
170
|
const coreOpts = this.buildCoreOptions(playerElement)
|
|
172
171
|
const { core, container } = Player.getRegisteredPlugins()
|
|
173
172
|
trace(`${T} init`, {
|
|
@@ -450,14 +450,9 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
450
450
|
this._hls.on(HLSJS.Events.ERROR, (evt, data) =>
|
|
451
451
|
this._onHLSJSError(evt, data),
|
|
452
452
|
)
|
|
453
|
-
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, (
|
|
454
|
-
this.
|
|
455
|
-
|
|
456
|
-
)
|
|
457
|
-
this._hls.on(
|
|
458
|
-
HLSJS.Events.SUBTITLE_TRACKS_UPDATED,
|
|
459
|
-
() => (this._ccTracksUpdated = true),
|
|
460
|
-
)
|
|
453
|
+
// this._hls.on(HLSJS.Events.SUBTITLE_TRACK_LOADED, () =>
|
|
454
|
+
// this._onSubtitleLoaded(),
|
|
455
|
+
// )
|
|
461
456
|
this._hls.on(HlsEvents.AUDIO_TRACKS_UPDATED, (evt, data) =>
|
|
462
457
|
this._onAudioTracksUpdated(evt, data),
|
|
463
458
|
)
|
|
@@ -863,13 +858,13 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
863
858
|
) as PlaybackType
|
|
864
859
|
this._onLevelUpdated(evt, data)
|
|
865
860
|
// Live stream subtitle tracks detection hack (may not immediately available)
|
|
866
|
-
if (
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
) {
|
|
871
|
-
|
|
872
|
-
}
|
|
861
|
+
// if (
|
|
862
|
+
// this._ccTracksUpdated &&
|
|
863
|
+
// this._playbackType === Playback.LIVE &&
|
|
864
|
+
// this.hasClosedCaptionsTracks
|
|
865
|
+
// ) {
|
|
866
|
+
// this._onSubtitleLoaded()
|
|
867
|
+
// }
|
|
873
868
|
if (prevPlaybackType !== this._playbackType) {
|
|
874
869
|
this._updateSettings()
|
|
875
870
|
}
|
|
@@ -1044,18 +1039,19 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
1044
1039
|
this.trigger(Events.PLAYBACK_FRAGMENT_LOADED, data)
|
|
1045
1040
|
}
|
|
1046
1041
|
|
|
1047
|
-
_onSubtitleLoaded() {
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1042
|
+
// _onSubtitleLoaded() {
|
|
1043
|
+
// trace(`${T} _onSubtitleLoaded`)
|
|
1044
|
+
// // This event may be triggered multiple times
|
|
1045
|
+
// // Setup CC only once (disable CC by default)
|
|
1046
|
+
// if (!this._ccIsSetup) {
|
|
1047
|
+
// this.trigger(Events.PLAYBACK_SUBTITLE_AVAILABLE)
|
|
1048
|
+
// const trackId =
|
|
1049
|
+
// this._playbackType === Playback.LIVE ? -1 : this.closedCaptionsTrackId
|
|
1054
1050
|
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
}
|
|
1051
|
+
// this.closedCaptionsTrackId = trackId
|
|
1052
|
+
// this._ccIsSetup = true
|
|
1053
|
+
// }
|
|
1054
|
+
// }
|
|
1059
1055
|
|
|
1060
1056
|
_onLevelSwitch(evt: HlsEvents.LEVEL_SWITCHING, data: LevelSwitchingData) {
|
|
1061
1057
|
if (!this.levels.length) {
|
|
@@ -45,6 +45,14 @@ export type ClosedCaptionsPluginSettings = {
|
|
|
45
45
|
* - {@link MediaControl}
|
|
46
46
|
*
|
|
47
47
|
* Configuration options - {@link ClosedCaptionsPluginSettings}
|
|
48
|
+
*
|
|
49
|
+
* Known issues:
|
|
50
|
+
*
|
|
51
|
+
* 1. When media source changes, the subtitles tracks aren't reloaded. Possible solution: use `playback.recycleVideo = false`
|
|
52
|
+
* {@link PlayerConfig | main config option}, which will force new video element creation every time media source changes.
|
|
53
|
+
* However, this may lead to other issues, such as autoplay not working (after media source has been changed).
|
|
54
|
+
* {@link https://github.com/video-dev/hls.js/issues/2198 | related discussion}
|
|
55
|
+
*
|
|
48
56
|
* @example
|
|
49
57
|
* ```ts
|
|
50
58
|
* import { ClosedCaptions } from '@gcorevideo/player'
|
|
@@ -129,7 +137,6 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
129
137
|
*/
|
|
130
138
|
override bindEvents() {
|
|
131
139
|
this.listenTo(this.core, Events.CORE_READY, this.onCoreReady)
|
|
132
|
-
this.listenTo(this.core, Events.CORE_RESIZE, this.playerResize)
|
|
133
140
|
this.listenTo(
|
|
134
141
|
this.core,
|
|
135
142
|
Events.CORE_ACTIVE_CONTAINER_CHANGED,
|
|
@@ -159,7 +166,12 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
159
166
|
this.listenTo(
|
|
160
167
|
this.core.activeContainer,
|
|
161
168
|
Events.CONTAINER_FULLSCREEN,
|
|
162
|
-
this.
|
|
169
|
+
this.onContainerResize,
|
|
170
|
+
)
|
|
171
|
+
this.listenTo(
|
|
172
|
+
this.core.activeContainer,
|
|
173
|
+
Events.CONTAINER_RESIZE,
|
|
174
|
+
this.onContainerResize,
|
|
163
175
|
)
|
|
164
176
|
this.listenTo(
|
|
165
177
|
this.core.activeContainer,
|
|
@@ -199,7 +211,9 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
199
211
|
}
|
|
200
212
|
|
|
201
213
|
private onSubtitleAvailable() {
|
|
202
|
-
trace(`${T} onSubtitleAvailable
|
|
214
|
+
trace(`${T} onSubtitleAvailable`, {
|
|
215
|
+
tracks: this.core.activePlayback.closedCaptionsTracks.length,
|
|
216
|
+
})
|
|
203
217
|
this.applyTracks()
|
|
204
218
|
this.mount()
|
|
205
219
|
}
|
|
@@ -265,8 +279,7 @@ export class ClosedCaptions extends UICorePlugin {
|
|
|
265
279
|
)
|
|
266
280
|
}
|
|
267
281
|
|
|
268
|
-
private
|
|
269
|
-
trace(`${T} playerResize`)
|
|
282
|
+
private onContainerResize() {
|
|
270
283
|
const shouldShow =
|
|
271
284
|
this.core.activeContainer &&
|
|
272
285
|
isFullscreen(this.core.activeContainer.el) &&
|
|
@@ -61,7 +61,7 @@ describe('ClosedCaptions', () => {
|
|
|
61
61
|
width: 320,
|
|
62
62
|
height: 260,
|
|
63
63
|
})
|
|
64
|
-
core.emit(Events.CORE_RESIZE, { width: 320, height: 260 })
|
|
64
|
+
// core.emit(Events.CORE_RESIZE, { width: 320, height: 260 })
|
|
65
65
|
})
|
|
66
66
|
it('should clamp popup height', () => {
|
|
67
67
|
expect(cc.$el.find('#gplayer-cc-menu').css('max-height')).toBe('197px')
|