@gcorevideo/player 2.24.10 → 2.24.11
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 +22 -12
- package/dist/index.css +970 -970
- package/dist/index.embed.js +21 -11
- package/dist/index.js +22 -12
- package/lib/playback/hls-playback/HlsPlayback.d.ts +6 -2
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +21 -11
- package/package.json +1 -1
- package/src/playback/hls-playback/HlsPlayback.ts +42 -23
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.embed.js
CHANGED
|
@@ -41692,7 +41692,6 @@ class HlsPlayback extends BasePlayback {
|
|
|
41692
41692
|
_extrapolatedWindowNumSegments = 0; // TODO
|
|
41693
41693
|
highDefinition = false;
|
|
41694
41694
|
_hls = null;
|
|
41695
|
-
_isReadyState = false;
|
|
41696
41695
|
_lastDuration = null;
|
|
41697
41696
|
_lastTimeUpdate = null;
|
|
41698
41697
|
_levels = null;
|
|
@@ -41709,9 +41708,15 @@ class HlsPlayback extends BasePlayback {
|
|
|
41709
41708
|
_recoveredDecodingError = false;
|
|
41710
41709
|
_segmentTargetDuration = null;
|
|
41711
41710
|
_timeUpdateTimer = null;
|
|
41711
|
+
/**
|
|
41712
|
+
* @internal
|
|
41713
|
+
*/
|
|
41712
41714
|
get name() {
|
|
41713
41715
|
return 'hls';
|
|
41714
41716
|
}
|
|
41717
|
+
/**
|
|
41718
|
+
* @internal
|
|
41719
|
+
*/
|
|
41715
41720
|
get supportedVersion() {
|
|
41716
41721
|
return { min: CLAPPR_VERSION$1 };
|
|
41717
41722
|
}
|
|
@@ -41721,9 +41726,6 @@ class HlsPlayback extends BasePlayback {
|
|
|
41721
41726
|
get currentLevel() {
|
|
41722
41727
|
return this._currentLevel ?? AUTO;
|
|
41723
41728
|
}
|
|
41724
|
-
get isReady() {
|
|
41725
|
-
return this._isReadyState;
|
|
41726
|
-
}
|
|
41727
41729
|
set currentLevel(id) {
|
|
41728
41730
|
this._currentLevel = id;
|
|
41729
41731
|
this.trigger(Events$1.PLAYBACK_LEVEL_SWITCH_START);
|
|
@@ -41910,6 +41912,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
41910
41912
|
const config = $.extend(true, {
|
|
41911
41913
|
maxBufferLength: 2,
|
|
41912
41914
|
maxMaxBufferLength: 4,
|
|
41915
|
+
autoStartLoad: false,
|
|
41913
41916
|
}, this.options.playback.hlsjsConfig);
|
|
41914
41917
|
this._hls = new Hls(config);
|
|
41915
41918
|
}
|
|
@@ -41927,6 +41930,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
41927
41930
|
assert.ok(this._hls, 'HLS.js is not initialized');
|
|
41928
41931
|
this.options.hlsPlayback.preload && this._hls.loadSource(this.options.src);
|
|
41929
41932
|
});
|
|
41933
|
+
// TODO drop?
|
|
41930
41934
|
const onPlaying = () => {
|
|
41931
41935
|
if (this._hls) {
|
|
41932
41936
|
this._hls.config.maxBufferLength =
|
|
@@ -41937,8 +41941,13 @@ class HlsPlayback extends BasePlayback {
|
|
|
41937
41941
|
this.el.removeEventListener('playing', onPlaying);
|
|
41938
41942
|
};
|
|
41939
41943
|
this.el.addEventListener('playing', onPlaying);
|
|
41940
|
-
this._hls.on(Hls.Events.MANIFEST_PARSED, () =>
|
|
41941
|
-
|
|
41944
|
+
this._hls.on(Hls.Events.MANIFEST_PARSED, () => {
|
|
41945
|
+
this._manifestParsed = true;
|
|
41946
|
+
this._hls.startLoad(-1);
|
|
41947
|
+
});
|
|
41948
|
+
this._hls.on(Hls.Events.LEVEL_LOADED, (evt, data) => {
|
|
41949
|
+
this._updatePlaybackType(evt, data);
|
|
41950
|
+
});
|
|
41942
41951
|
this._hls.on(Hls.Events.LEVEL_UPDATED, (evt, data) => this._onLevelUpdated(evt, data));
|
|
41943
41952
|
this._hls.on(Hls.Events.LEVEL_SWITCHING, (evt, data) => this._onLevelSwitch(evt, data));
|
|
41944
41953
|
this._hls.on(Hls.Events.LEVEL_SWITCHED, (evt, data) => this._onLevelSwitched(evt, data));
|
|
@@ -41981,12 +41990,13 @@ class HlsPlayback extends BasePlayback {
|
|
|
41981
41990
|
return super.render();
|
|
41982
41991
|
}
|
|
41983
41992
|
_ready() {
|
|
41984
|
-
|
|
41985
|
-
|
|
41986
|
-
}
|
|
41993
|
+
trace(`${T$d} _ready`, {
|
|
41994
|
+
isReadyState: this._isReadyState, // is defined in HTML5Video
|
|
41995
|
+
});
|
|
41987
41996
|
!this._hls && this._setup();
|
|
41988
|
-
this._isReadyState = true
|
|
41989
|
-
this.trigger(Events
|
|
41997
|
+
// this._isReadyState = true
|
|
41998
|
+
// this.trigger(Events.PLAYBACK_READY, this.name)
|
|
41999
|
+
super._ready();
|
|
41990
42000
|
}
|
|
41991
42001
|
_recover(evt, data, error) {
|
|
41992
42002
|
assert(this._hls, 'HLS.js is not initialized');
|
package/dist/index.js
CHANGED
|
@@ -41854,7 +41854,6 @@ class HlsPlayback extends BasePlayback {
|
|
|
41854
41854
|
_extrapolatedWindowNumSegments = 0; // TODO
|
|
41855
41855
|
highDefinition = false;
|
|
41856
41856
|
_hls = null;
|
|
41857
|
-
_isReadyState = false;
|
|
41858
41857
|
_lastDuration = null;
|
|
41859
41858
|
_lastTimeUpdate = null;
|
|
41860
41859
|
_levels = null;
|
|
@@ -41871,9 +41870,15 @@ class HlsPlayback extends BasePlayback {
|
|
|
41871
41870
|
_recoveredDecodingError = false;
|
|
41872
41871
|
_segmentTargetDuration = null;
|
|
41873
41872
|
_timeUpdateTimer = null;
|
|
41873
|
+
/**
|
|
41874
|
+
* @internal
|
|
41875
|
+
*/
|
|
41874
41876
|
get name() {
|
|
41875
41877
|
return 'hls';
|
|
41876
41878
|
}
|
|
41879
|
+
/**
|
|
41880
|
+
* @internal
|
|
41881
|
+
*/
|
|
41877
41882
|
get supportedVersion() {
|
|
41878
41883
|
return { min: CLAPPR_VERSION$1 };
|
|
41879
41884
|
}
|
|
@@ -41883,9 +41888,6 @@ class HlsPlayback extends BasePlayback {
|
|
|
41883
41888
|
get currentLevel() {
|
|
41884
41889
|
return this._currentLevel ?? AUTO;
|
|
41885
41890
|
}
|
|
41886
|
-
get isReady() {
|
|
41887
|
-
return this._isReadyState;
|
|
41888
|
-
}
|
|
41889
41891
|
set currentLevel(id) {
|
|
41890
41892
|
this._currentLevel = id;
|
|
41891
41893
|
this.trigger(Events$1.PLAYBACK_LEVEL_SWITCH_START);
|
|
@@ -42072,6 +42074,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42072
42074
|
const config = $.extend(true, {
|
|
42073
42075
|
maxBufferLength: 2,
|
|
42074
42076
|
maxMaxBufferLength: 4,
|
|
42077
|
+
autoStartLoad: false,
|
|
42075
42078
|
}, this.options.playback.hlsjsConfig);
|
|
42076
42079
|
trace(`${T$m} _createHLSInstance`, { config });
|
|
42077
42080
|
this._hls = new Hls(config);
|
|
@@ -42090,6 +42093,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42090
42093
|
assert.ok(this._hls, 'HLS.js is not initialized');
|
|
42091
42094
|
this.options.hlsPlayback.preload && this._hls.loadSource(this.options.src);
|
|
42092
42095
|
});
|
|
42096
|
+
// TODO drop?
|
|
42093
42097
|
const onPlaying = () => {
|
|
42094
42098
|
if (this._hls) {
|
|
42095
42099
|
this._hls.config.maxBufferLength =
|
|
@@ -42100,8 +42104,13 @@ class HlsPlayback extends BasePlayback {
|
|
|
42100
42104
|
this.el.removeEventListener('playing', onPlaying);
|
|
42101
42105
|
};
|
|
42102
42106
|
this.el.addEventListener('playing', onPlaying);
|
|
42103
|
-
this._hls.on(Hls.Events.MANIFEST_PARSED, () =>
|
|
42104
|
-
|
|
42107
|
+
this._hls.on(Hls.Events.MANIFEST_PARSED, () => {
|
|
42108
|
+
this._manifestParsed = true;
|
|
42109
|
+
this._hls.startLoad(-1);
|
|
42110
|
+
});
|
|
42111
|
+
this._hls.on(Hls.Events.LEVEL_LOADED, (evt, data) => {
|
|
42112
|
+
this._updatePlaybackType(evt, data);
|
|
42113
|
+
});
|
|
42105
42114
|
this._hls.on(Hls.Events.LEVEL_UPDATED, (evt, data) => this._onLevelUpdated(evt, data));
|
|
42106
42115
|
this._hls.on(Hls.Events.LEVEL_SWITCHING, (evt, data) => this._onLevelSwitch(evt, data));
|
|
42107
42116
|
this._hls.on(Hls.Events.LEVEL_SWITCHED, (evt, data) => this._onLevelSwitched(evt, data));
|
|
@@ -42144,12 +42153,13 @@ class HlsPlayback extends BasePlayback {
|
|
|
42144
42153
|
return super.render();
|
|
42145
42154
|
}
|
|
42146
42155
|
_ready() {
|
|
42147
|
-
|
|
42148
|
-
|
|
42149
|
-
}
|
|
42156
|
+
trace(`${T$m} _ready`, {
|
|
42157
|
+
isReadyState: this._isReadyState, // is defined in HTML5Video
|
|
42158
|
+
});
|
|
42150
42159
|
!this._hls && this._setup();
|
|
42151
|
-
this._isReadyState = true
|
|
42152
|
-
this.trigger(Events
|
|
42160
|
+
// this._isReadyState = true
|
|
42161
|
+
// this.trigger(Events.PLAYBACK_READY, this.name)
|
|
42162
|
+
super._ready();
|
|
42153
42163
|
}
|
|
42154
42164
|
_recover(evt, data, error) {
|
|
42155
42165
|
assert(this._hls, 'HLS.js is not initialized');
|
|
@@ -43303,7 +43313,7 @@ class Player {
|
|
|
43303
43313
|
}
|
|
43304
43314
|
}
|
|
43305
43315
|
|
|
43306
|
-
var version$1 = "2.24.
|
|
43316
|
+
var version$1 = "2.24.11";
|
|
43307
43317
|
|
|
43308
43318
|
var packages = {
|
|
43309
43319
|
"node_modules/@clappr/core": {
|
|
@@ -12,7 +12,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
12
12
|
private _extrapolatedWindowNumSegments;
|
|
13
13
|
private highDefinition;
|
|
14
14
|
private _hls;
|
|
15
|
-
private _isReadyState;
|
|
16
15
|
private _lastDuration;
|
|
17
16
|
private _lastTimeUpdate;
|
|
18
17
|
private _levels;
|
|
@@ -29,13 +28,18 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
29
28
|
private _recoveredDecodingError;
|
|
30
29
|
private _segmentTargetDuration;
|
|
31
30
|
private _timeUpdateTimer;
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
32
34
|
get name(): string;
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
33
38
|
get supportedVersion(): {
|
|
34
39
|
min: string;
|
|
35
40
|
};
|
|
36
41
|
get levels(): QualityLevel[];
|
|
37
42
|
get currentLevel(): number;
|
|
38
|
-
get isReady(): boolean;
|
|
39
43
|
set currentLevel(id: number);
|
|
40
44
|
get latency(): number;
|
|
41
45
|
get currentProgramDateTime(): Date;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
24
24
|
_extrapolatedWindowNumSegments = 0; // TODO
|
|
25
25
|
highDefinition = false;
|
|
26
26
|
_hls = null;
|
|
27
|
-
_isReadyState = false;
|
|
28
27
|
_lastDuration = null;
|
|
29
28
|
_lastTimeUpdate = null;
|
|
30
29
|
_levels = null;
|
|
@@ -41,9 +40,15 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
41
40
|
_recoveredDecodingError = false;
|
|
42
41
|
_segmentTargetDuration = null;
|
|
43
42
|
_timeUpdateTimer = null;
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
44
46
|
get name() {
|
|
45
47
|
return 'hls';
|
|
46
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
47
52
|
get supportedVersion() {
|
|
48
53
|
return { min: CLAPPR_VERSION };
|
|
49
54
|
}
|
|
@@ -53,9 +58,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
53
58
|
get currentLevel() {
|
|
54
59
|
return this._currentLevel ?? AUTO;
|
|
55
60
|
}
|
|
56
|
-
get isReady() {
|
|
57
|
-
return this._isReadyState;
|
|
58
|
-
}
|
|
59
61
|
set currentLevel(id) {
|
|
60
62
|
this._currentLevel = id;
|
|
61
63
|
this.trigger(Events.PLAYBACK_LEVEL_SWITCH_START);
|
|
@@ -242,6 +244,7 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
242
244
|
const config = $.extend(true, {
|
|
243
245
|
maxBufferLength: 2,
|
|
244
246
|
maxMaxBufferLength: 4,
|
|
247
|
+
autoStartLoad: false,
|
|
245
248
|
}, this.options.playback.hlsjsConfig);
|
|
246
249
|
trace(`${T} _createHLSInstance`, { config });
|
|
247
250
|
this._hls = new HLSJS(config);
|
|
@@ -260,6 +263,7 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
260
263
|
assert.ok(this._hls, 'HLS.js is not initialized');
|
|
261
264
|
this.options.hlsPlayback.preload && this._hls.loadSource(this.options.src);
|
|
262
265
|
});
|
|
266
|
+
// TODO drop?
|
|
263
267
|
const onPlaying = () => {
|
|
264
268
|
if (this._hls) {
|
|
265
269
|
this._hls.config.maxBufferLength =
|
|
@@ -270,8 +274,13 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
270
274
|
this.el.removeEventListener('playing', onPlaying);
|
|
271
275
|
};
|
|
272
276
|
this.el.addEventListener('playing', onPlaying);
|
|
273
|
-
this._hls.on(HLSJS.Events.MANIFEST_PARSED, () =>
|
|
274
|
-
|
|
277
|
+
this._hls.on(HLSJS.Events.MANIFEST_PARSED, () => {
|
|
278
|
+
this._manifestParsed = true;
|
|
279
|
+
this._hls.startLoad(-1);
|
|
280
|
+
});
|
|
281
|
+
this._hls.on(HLSJS.Events.LEVEL_LOADED, (evt, data) => {
|
|
282
|
+
this._updatePlaybackType(evt, data);
|
|
283
|
+
});
|
|
275
284
|
this._hls.on(HLSJS.Events.LEVEL_UPDATED, (evt, data) => this._onLevelUpdated(evt, data));
|
|
276
285
|
this._hls.on(HLSJS.Events.LEVEL_SWITCHING, (evt, data) => this._onLevelSwitch(evt, data));
|
|
277
286
|
this._hls.on(HLSJS.Events.LEVEL_SWITCHED, (evt, data) => this._onLevelSwitched(evt, data));
|
|
@@ -314,12 +323,13 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
314
323
|
return super.render();
|
|
315
324
|
}
|
|
316
325
|
_ready() {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
}
|
|
326
|
+
trace(`${T} _ready`, {
|
|
327
|
+
isReadyState: this._isReadyState, // is defined in HTML5Video
|
|
328
|
+
});
|
|
320
329
|
!this._hls && this._setup();
|
|
321
|
-
this._isReadyState = true
|
|
322
|
-
this.trigger(Events.PLAYBACK_READY, this.name)
|
|
330
|
+
// this._isReadyState = true
|
|
331
|
+
// this.trigger(Events.PLAYBACK_READY, this.name)
|
|
332
|
+
super._ready();
|
|
323
333
|
}
|
|
324
334
|
_recover(evt, data, error) {
|
|
325
335
|
assert(this._hls, 'HLS.js is not initialized');
|
package/package.json
CHANGED
|
@@ -87,8 +87,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
87
87
|
|
|
88
88
|
private _hls: HLSJS | null = null
|
|
89
89
|
|
|
90
|
-
private _isReadyState = false
|
|
91
|
-
|
|
92
90
|
private _lastDuration: number | null = null
|
|
93
91
|
|
|
94
92
|
private _lastTimeUpdate: TimePosition | null = null
|
|
@@ -121,10 +119,16 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
121
119
|
|
|
122
120
|
private _timeUpdateTimer: TimerId | null = null
|
|
123
121
|
|
|
122
|
+
/**
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
124
125
|
get name() {
|
|
125
126
|
return 'hls'
|
|
126
127
|
}
|
|
127
128
|
|
|
129
|
+
/**
|
|
130
|
+
* @internal
|
|
131
|
+
*/
|
|
128
132
|
get supportedVersion() {
|
|
129
133
|
return { min: CLAPPR_VERSION }
|
|
130
134
|
}
|
|
@@ -137,10 +141,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
137
141
|
return this._currentLevel ?? AUTO
|
|
138
142
|
}
|
|
139
143
|
|
|
140
|
-
get isReady() {
|
|
141
|
-
return this._isReadyState
|
|
142
|
-
}
|
|
143
|
-
|
|
144
144
|
set currentLevel(id: number) {
|
|
145
145
|
this._currentLevel = id
|
|
146
146
|
this.trigger(Events.PLAYBACK_LEVEL_SWITCH_START)
|
|
@@ -369,6 +369,7 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
369
369
|
{
|
|
370
370
|
maxBufferLength: 2,
|
|
371
371
|
maxMaxBufferLength: 4,
|
|
372
|
+
autoStartLoad: false,
|
|
372
373
|
},
|
|
373
374
|
this.options.playback.hlsjsConfig,
|
|
374
375
|
)
|
|
@@ -393,6 +394,7 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
393
394
|
this.options.hlsPlayback.preload && this._hls.loadSource(this.options.src)
|
|
394
395
|
})
|
|
395
396
|
|
|
397
|
+
// TODO drop?
|
|
396
398
|
const onPlaying = () => {
|
|
397
399
|
if (this._hls) {
|
|
398
400
|
this._hls.config.maxBufferLength =
|
|
@@ -405,14 +407,15 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
405
407
|
|
|
406
408
|
this.el.addEventListener('playing', onPlaying)
|
|
407
409
|
|
|
408
|
-
this._hls.on(
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
)
|
|
410
|
+
this._hls.on(HLSJS.Events.MANIFEST_PARSED, () => {
|
|
411
|
+
this._manifestParsed = true
|
|
412
|
+
this._hls!.startLoad(-1)
|
|
413
|
+
})
|
|
412
414
|
this._hls.on(
|
|
413
415
|
HLSJS.Events.LEVEL_LOADED,
|
|
414
|
-
(evt: HlsEvents.LEVEL_LOADED, data: LevelLoadedData) =>
|
|
415
|
-
this._updatePlaybackType(evt, data)
|
|
416
|
+
(evt: HlsEvents.LEVEL_LOADED, data: LevelLoadedData) => {
|
|
417
|
+
this._updatePlaybackType(evt, data)
|
|
418
|
+
},
|
|
416
419
|
)
|
|
417
420
|
this._hls.on(
|
|
418
421
|
HLSJS.Events.LEVEL_UPDATED,
|
|
@@ -458,7 +461,9 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
458
461
|
this._hls.on(HlsEvents.AUDIO_TRACKS_UPDATED, (evt, data) =>
|
|
459
462
|
this._onAudioTracksUpdated(evt, data),
|
|
460
463
|
)
|
|
461
|
-
this._hls.on(HlsEvents.AUDIO_TRACK_SWITCHED, (evt, data) =>
|
|
464
|
+
this._hls.on(HlsEvents.AUDIO_TRACK_SWITCHED, (evt, data) =>
|
|
465
|
+
this._onAudioTrackSwitched(evt, data),
|
|
466
|
+
)
|
|
462
467
|
this.bindCustomListeners()
|
|
463
468
|
}
|
|
464
469
|
|
|
@@ -499,15 +504,20 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
499
504
|
}
|
|
500
505
|
|
|
501
506
|
protected override _ready() {
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}
|
|
507
|
+
trace(`${T} _ready`, {
|
|
508
|
+
isReadyState: this._isReadyState, // is defined in HTML5Video
|
|
509
|
+
})
|
|
505
510
|
!this._hls && this._setup()
|
|
506
|
-
this._isReadyState = true
|
|
507
|
-
this.trigger(Events.PLAYBACK_READY, this.name)
|
|
511
|
+
// this._isReadyState = true
|
|
512
|
+
// this.trigger(Events.PLAYBACK_READY, this.name)
|
|
513
|
+
super._ready()
|
|
508
514
|
}
|
|
509
515
|
|
|
510
|
-
private _recover(
|
|
516
|
+
private _recover(
|
|
517
|
+
evt: HlsEvents.ERROR,
|
|
518
|
+
data: HlsErrorData,
|
|
519
|
+
error: PlaybackError,
|
|
520
|
+
) {
|
|
511
521
|
assert(this._hls, 'HLS.js is not initialized')
|
|
512
522
|
if (!this._recoveredDecodingError) {
|
|
513
523
|
this._recoveredDecodingError = true
|
|
@@ -1129,12 +1139,21 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
1129
1139
|
this._hls.audioTrack = Number(id) // TODO or find index by .id == id?
|
|
1130
1140
|
}
|
|
1131
1141
|
|
|
1132
|
-
private _onAudioTracksUpdated(
|
|
1142
|
+
private _onAudioTracksUpdated(
|
|
1143
|
+
_: HlsEvents.AUDIO_TRACKS_UPDATED,
|
|
1144
|
+
data: AudioTracksUpdatedData,
|
|
1145
|
+
) {
|
|
1133
1146
|
trace(`${T} onAudioTracksUpdated`)
|
|
1134
|
-
this.trigger(
|
|
1147
|
+
this.trigger(
|
|
1148
|
+
Events.PLAYBACK_AUDIO_AVAILABLE,
|
|
1149
|
+
data.audioTracks.map(toClapprTrack),
|
|
1150
|
+
)
|
|
1135
1151
|
}
|
|
1136
1152
|
|
|
1137
|
-
private _onAudioTrackSwitched(
|
|
1153
|
+
private _onAudioTrackSwitched(
|
|
1154
|
+
_: HlsEvents.AUDIO_TRACK_SWITCHED,
|
|
1155
|
+
data: AudioTrackSwitchedData,
|
|
1156
|
+
) {
|
|
1138
1157
|
trace(`${T} onAudioTrackSwitched`)
|
|
1139
1158
|
// @ts-ignore
|
|
1140
1159
|
const track = this._hls.audioTracks[data.id]
|
|
@@ -1156,4 +1175,4 @@ function toClapprTrack(t: MediaPlaylist): AudioTrack {
|
|
|
1156
1175
|
kind: t.type === 'main' ? 'main' : 'description', // TODO check
|
|
1157
1176
|
label: t.name,
|
|
1158
1177
|
}
|
|
1159
|
-
}
|
|
1178
|
+
}
|