@gcorevideo/player 2.8.0 → 2.8.2
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/index.js +21 -559
- package/lib/plugins/dash-playback/DashPlayback.d.ts +6 -6
- package/lib/plugins/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/plugins/dash-playback/DashPlayback.js +11 -2
- package/lib/plugins/hls-playback/HlsPlayback.d.ts +3 -3
- package/lib/plugins/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/plugins/hls-playback/HlsPlayback.js +5 -0
- package/lib/utils/mediaSources.js +3 -3
- package/licenses.json +782 -0
- package/package.json +1 -4
- package/rollup.config.js +0 -12
- package/src/plugins/dash-playback/DashPlayback.ts +16 -11
- package/src/plugins/hls-playback/HlsPlayback.ts +6 -1
- package/src/utils/mediaSources.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/src/typings/@clappr/core/events.d.ts +0 -7
- package/src/typings/@clappr/core/html5_video.d.ts +0 -28
- package/src/typings/@clappr/core/player.d.ts +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTML5Video, Playback } from '@clappr/core';
|
|
2
|
-
import DASHJS, {
|
|
2
|
+
import DASHJS, { type BitrateInfo as DashBitrateInfo, IManifestInfo } from 'dashjs';
|
|
3
3
|
import { QualityLevel, TimePosition, TimeValue } from '../../playback.types.js';
|
|
4
4
|
type PlaybackType = typeof Playback.VOD | typeof Playback.LIVE | typeof Playback.AOD | typeof Playback.NO_OP;
|
|
5
5
|
type PlaylistType = string;
|
|
@@ -39,9 +39,9 @@ export default class DashPlayback extends HTML5Video {
|
|
|
39
39
|
get _duration(): number;
|
|
40
40
|
constructor(options: any, i18n: string, playerError?: any);
|
|
41
41
|
_setup(): void;
|
|
42
|
-
render():
|
|
42
|
+
render(): this;
|
|
43
43
|
_ready(): void;
|
|
44
|
-
_setupSrc
|
|
44
|
+
private _setupSrc;
|
|
45
45
|
_startTimeUpdateTimer(): void;
|
|
46
46
|
_stopTimeUpdateTimer(): void;
|
|
47
47
|
getProgramDateTime(): number;
|
|
@@ -53,8 +53,8 @@ export default class DashPlayback extends HTML5Video {
|
|
|
53
53
|
seekToLivePoint(): void;
|
|
54
54
|
_updateDvr(status: boolean): void;
|
|
55
55
|
_updateSettings(): void;
|
|
56
|
-
_onPlaybackError
|
|
57
|
-
_onDASHJSSError
|
|
56
|
+
private _onPlaybackError;
|
|
57
|
+
private _onDASHJSSError;
|
|
58
58
|
_onTimeUpdate(): void;
|
|
59
59
|
_onDurationChange(): void;
|
|
60
60
|
get dvrEnabled(): boolean;
|
|
@@ -62,7 +62,7 @@ export default class DashPlayback extends HTML5Video {
|
|
|
62
62
|
play(): void;
|
|
63
63
|
pause(): void;
|
|
64
64
|
stop(): void;
|
|
65
|
-
destroy():
|
|
65
|
+
destroy(): void;
|
|
66
66
|
_updatePlaybackType(): void;
|
|
67
67
|
_fillLevels(levels: DashBitrateInfo[]): void;
|
|
68
68
|
private onLevelSwitch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,UAAU,EAAO,QAAQ,EAAS,MAAM,cAAc,CAAA;AAEvE,OAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,UAAU,EAAO,QAAQ,EAAS,MAAM,cAAc,CAAA;AAEvE,OAAO,MAAM,EAAE,EAGb,KAAK,WAAW,IAAI,eAAe,EAEnC,aAAa,EACd,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAM/E,KAAK,YAAY,GACb,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,IAAI,GACpB,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,KAAK,CAAA;AAEzB,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAKD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAClD,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAO;IAErC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IAKnC,mCAAmC,EAAE,OAAO,CAAQ;IAEpD,aAAa,EAAE,OAAO,CAAQ;IAI9B,uBAAuB,EAAE,MAAM,CAAI;IASnC,wBAAwB,EAAE,MAAM,CAAI;IAEpC,aAAa,EAAE,YAAY,CAAe;IAG1C,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IAGzC,gBAAgB,EAAE,SAAS,CAAI;IAE/B,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAO;IAE5C,2BAA2B,EAAE,MAAM,CAAI;IAEvC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAEtC,eAAe,EAAE,YAAY,CAA2B;IAIxD,0BAA0B,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAI9D,wBAAwB,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAE5D,kBAAkB,UAAQ;IAE1B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAO;IAGzC,sBAAsB,EAAE,SAAS,GAAG,IAAI,CAAO;IAE/C,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAO;IAE9D,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,IAAI,YAAY,EAAE,CAE3B;IAED,IAAI,YAAY,IAAI,MAAM,CAMzB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAiC1B;IAED,IAAI,UAAU,WASb;IAED,IAAI,IAAI,WAEP;IAID,IAAI,sBAAsB,WAczB;IAID,IAAI,oBAAoB,WAgBvB;IAED,IAAI,SAAS,WAKZ;gBAEW,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG;IAOzD,MAAM;IAyEN,MAAM;IAMN,MAAM;YAMW,SAAS;IAI1B,qBAAqB;IAQrB,oBAAoB;IAMpB,kBAAkB;IAOlB,WAAW,IAAI,SAAS;IAQxB,cAAc,IAAI,SAAS;IAU3B,kBAAkB,IAAI,SAAS;IAI/B,cAAc,CAAC,UAAU,EAAE,MAAM;IAejC,IAAI,CAAC,IAAI,EAAE,SAAS;IAgBpB,eAAe;IAIf,UAAU,CAAC,MAAM,EAAE,OAAO;IAKjB,eAAe;IAgBxB,OAAO,CAAC,gBAAgB,CAGvB;IAED,OAAO,CAAC,eAAe,CAwGtB;IAED,aAAa;IAqBb,iBAAiB;IAWjB,IAAI,UAAU,YASb;IAED,WAAW;IAmBX,IAAI;IAUJ,KAAK;IAWL,IAAI;IASJ,OAAO;IAkBP,mBAAmB;IAYnB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE;IAarC,OAAO,CAAC,aAAa;IAMrB,eAAe;IAIf,aAAa;CAGd"}
|
|
@@ -8,6 +8,7 @@ import { trace } from '../../trace/index.js';
|
|
|
8
8
|
const AUTO = -1;
|
|
9
9
|
const { now } = Utils;
|
|
10
10
|
const T = 'DashPlayback';
|
|
11
|
+
// @ts-expect-error
|
|
11
12
|
export default class DashPlayback extends HTML5Video {
|
|
12
13
|
_levels = null;
|
|
13
14
|
_currentLevel = null;
|
|
@@ -260,24 +261,29 @@ export default class DashPlayback extends HTML5Video {
|
|
|
260
261
|
}
|
|
261
262
|
_updateSettings() {
|
|
262
263
|
if (this._playbackType === Playback.VOD) {
|
|
264
|
+
// @ts-expect-error
|
|
263
265
|
this.settings.left = ['playpause', 'position', 'duration'];
|
|
264
266
|
}
|
|
265
267
|
else if (this.dvrEnabled) {
|
|
268
|
+
// @ts-expect-error
|
|
266
269
|
this.settings.left = ['playpause'];
|
|
267
270
|
}
|
|
268
271
|
else {
|
|
272
|
+
// @ts-expect-error
|
|
269
273
|
this.settings.left = ['playstop'];
|
|
270
274
|
}
|
|
275
|
+
// @ts-expect-error
|
|
271
276
|
this.settings.seekEnabled = this.isSeekEnabled();
|
|
272
277
|
this.trigger(Events.PLAYBACK_SETTINGSUPDATE);
|
|
273
278
|
}
|
|
274
279
|
_onPlaybackError = (event) => {
|
|
275
280
|
// TODO
|
|
281
|
+
trace(`${T} _onPlaybackError`, { event });
|
|
276
282
|
};
|
|
277
283
|
_onDASHJSSError = (event) => {
|
|
284
|
+
trace(`${T} _onDASHJSSError`, { event });
|
|
278
285
|
// TODO
|
|
279
286
|
// only report/handle errors if they are fatal
|
|
280
|
-
// hlsjs should automatically handle non fatal errors
|
|
281
287
|
this._stopTimeUpdateTimer();
|
|
282
288
|
if (event.error === 'capability' && event.event === 'mediasource') {
|
|
283
289
|
// No support for MSE
|
|
@@ -390,7 +396,10 @@ export default class DashPlayback extends HTML5Video {
|
|
|
390
396
|
super._onDurationChange();
|
|
391
397
|
}
|
|
392
398
|
get dvrEnabled() {
|
|
393
|
-
|
|
399
|
+
if (!this._dash) {
|
|
400
|
+
trace(`${T} dvrEnable no dash player instance`);
|
|
401
|
+
return false;
|
|
402
|
+
}
|
|
394
403
|
return (this._dash?.getDVRWindowSize() >= this._minDvrSize &&
|
|
395
404
|
this.getPlaybackType() === Playback.LIVE);
|
|
396
405
|
}
|
|
@@ -63,10 +63,10 @@ export default class HlsPlayback extends HTML5Video {
|
|
|
63
63
|
bindCustomListeners(): void;
|
|
64
64
|
unbindCustomListeners(): void;
|
|
65
65
|
_onFragmentParsingMetadata(evt: HlsEvents.FRAG_PARSING_METADATA, data: FragParsingMetadataData): void;
|
|
66
|
-
render():
|
|
66
|
+
render(): this;
|
|
67
67
|
_ready(): void;
|
|
68
68
|
_recover(evt: HlsEvents.ERROR, data: HlsErrorData, error: ErrorInfo): void;
|
|
69
|
-
_setupSrc
|
|
69
|
+
private _setupSrc;
|
|
70
70
|
_startTimeUpdateTimer(): void;
|
|
71
71
|
_stopTimeUpdateTimer(): void;
|
|
72
72
|
getProgramDateTime(): string | null;
|
|
@@ -87,7 +87,7 @@ export default class HlsPlayback extends HTML5Video {
|
|
|
87
87
|
play(): void;
|
|
88
88
|
pause(): void;
|
|
89
89
|
stop(): void;
|
|
90
|
-
destroy():
|
|
90
|
+
destroy(): void;
|
|
91
91
|
private _updatePlaybackType;
|
|
92
92
|
private _fillLevels;
|
|
93
93
|
private _onLevelUpdated;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,UAAU,EAAqC,MAAM,cAAc,CAAC;AAErF,OAAO,KAAK,EAAE,EACZ,SAAS,EAET,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAG5B,KAAK,kBAAkB,EACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,YAAY,EAAgB,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAwC3C,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ const DEFAULT_RECOVER_ATTEMPTS = 16;
|
|
|
12
12
|
Events.register('PLAYBACK_FRAGMENT_CHANGED');
|
|
13
13
|
Events.register('PLAYBACK_FRAGMENT_PARSING_METADATA');
|
|
14
14
|
const T = 'plugins.hls';
|
|
15
|
+
// @ts-expect-error
|
|
15
16
|
export default class HlsPlayback extends HTML5Video {
|
|
16
17
|
_ccIsSetup = false;
|
|
17
18
|
_ccTracksUpdated = false;
|
|
@@ -380,14 +381,18 @@ export default class HlsPlayback extends HTML5Video {
|
|
|
380
381
|
}
|
|
381
382
|
_updateSettings() {
|
|
382
383
|
if (this._playbackType === Playback.VOD) {
|
|
384
|
+
// @ts-expect-error
|
|
383
385
|
this.settings.left = ['playpause', 'position', 'duration'];
|
|
384
386
|
}
|
|
385
387
|
else if (this.dvrEnabled) {
|
|
388
|
+
// @ts-expect-error
|
|
386
389
|
this.settings.left = ['playpause'];
|
|
387
390
|
}
|
|
388
391
|
else {
|
|
392
|
+
// @ts-expect-error
|
|
389
393
|
this.settings.left = ['playstop'];
|
|
390
394
|
}
|
|
395
|
+
// @ts-expect-error
|
|
391
396
|
this.settings.seekEnabled = this.isSeekEnabled();
|
|
392
397
|
this.trigger(Events.PLAYBACK_SETTINGSUPDATE);
|
|
393
398
|
}
|
|
@@ -51,18 +51,18 @@ export function buildSourcesPriorityList(sources, priorityTransport = 'auto') {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
function addHls() {
|
|
54
|
-
if (sources.hls && HlsPlayback.canPlay(sources.hls)) {
|
|
54
|
+
if (sources.hls && HlsPlayback.canPlay(sources.hls, undefined)) {
|
|
55
55
|
msl.push(sources.hls);
|
|
56
56
|
sources.hls = null;
|
|
57
57
|
}
|
|
58
58
|
if (sources.master?.endsWith('.m3u8') &&
|
|
59
|
-
HlsPlayback.canPlay(sources.master)) {
|
|
59
|
+
HlsPlayback.canPlay(sources.master, undefined)) {
|
|
60
60
|
msl.push(sources.master);
|
|
61
61
|
sources.master = null;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
function addDash() {
|
|
65
|
-
if (sources.dash && DashPlayback.canPlay(sources.dash)) {
|
|
65
|
+
if (sources.dash && DashPlayback.canPlay(sources.dash, undefined)) {
|
|
66
66
|
msl.push(sources.dash);
|
|
67
67
|
sources.dash = null;
|
|
68
68
|
}
|