hls.js 1.5.9-0.canary.10310 → 1.5.9
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/README.md +3 -4
- package/dist/hls-demo.js +38 -41
- package/dist/hls-demo.js.map +1 -1
- package/dist/hls.js +2191 -3474
- package/dist/hls.js.d.ts +85 -108
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +3136 -3783
- package/dist/hls.light.js.map +1 -1
- package/dist/hls.light.min.js +1 -1
- package/dist/hls.light.min.js.map +1 -1
- package/dist/hls.light.mjs +1260 -1934
- package/dist/hls.light.mjs.map +1 -1
- package/dist/hls.min.js +1 -1
- package/dist/hls.min.js.map +1 -1
- package/dist/hls.mjs +4182 -5488
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/dist/hls.worker.js.map +1 -1
- package/package.json +35 -35
- package/src/config.ts +2 -3
- package/src/controller/abr-controller.ts +20 -24
- package/src/controller/audio-stream-controller.ts +74 -68
- package/src/controller/audio-track-controller.ts +1 -1
- package/src/controller/base-playlist-controller.ts +10 -27
- package/src/controller/base-stream-controller.ts +38 -160
- package/src/controller/buffer-controller.ts +92 -230
- package/src/controller/buffer-operation-queue.ts +19 -16
- package/src/controller/cap-level-controller.ts +2 -3
- package/src/controller/cmcd-controller.ts +14 -51
- package/src/controller/content-steering-controller.ts +15 -29
- package/src/controller/eme-controller.ts +23 -10
- package/src/controller/error-controller.ts +8 -6
- package/src/controller/fps-controller.ts +3 -8
- package/src/controller/fragment-tracker.ts +11 -15
- package/src/controller/gap-controller.ts +16 -43
- package/src/controller/id3-track-controller.ts +7 -7
- package/src/controller/latency-controller.ts +11 -9
- package/src/controller/level-controller.ts +19 -37
- package/src/controller/stream-controller.ts +32 -37
- package/src/controller/subtitle-stream-controller.ts +40 -28
- package/src/controller/subtitle-track-controller.ts +3 -5
- package/src/controller/timeline-controller.ts +21 -19
- package/src/crypt/aes-crypto.ts +2 -21
- package/src/crypt/decrypter.ts +16 -32
- package/src/crypt/fast-aes-key.ts +5 -24
- package/src/demux/audio/aacdemuxer.ts +2 -2
- package/src/demux/audio/ac3-demuxer.ts +3 -4
- package/src/demux/audio/adts.ts +4 -9
- package/src/demux/audio/base-audio-demuxer.ts +14 -16
- package/src/demux/audio/mp3demuxer.ts +3 -4
- package/src/demux/audio/mpegaudio.ts +1 -1
- package/src/demux/id3.ts +411 -0
- package/src/demux/mp4demuxer.ts +7 -7
- package/src/demux/sample-aes.ts +0 -2
- package/src/demux/transmuxer-interface.ts +12 -4
- package/src/demux/transmuxer-worker.ts +4 -4
- package/src/demux/transmuxer.ts +3 -16
- package/src/demux/tsdemuxer.ts +37 -71
- package/src/demux/video/avc-video-parser.ts +119 -208
- package/src/demux/video/base-video-parser.ts +18 -147
- package/src/demux/video/exp-golomb.ts +208 -0
- package/src/events.ts +1 -8
- package/src/exports-named.ts +1 -1
- package/src/hls.ts +38 -61
- package/src/loader/fragment-loader.ts +3 -10
- package/src/loader/key-loader.ts +1 -3
- package/src/loader/level-key.ts +9 -10
- package/src/loader/playlist-loader.ts +5 -4
- package/src/remux/mp4-generator.ts +1 -196
- package/src/remux/mp4-remuxer.ts +8 -24
- package/src/task-loop.ts +2 -5
- package/src/types/component-api.ts +1 -3
- package/src/types/demuxer.ts +0 -4
- package/src/types/events.ts +0 -4
- package/src/types/remuxer.ts +1 -1
- package/src/utils/buffer-helper.ts +31 -12
- package/src/utils/cea-608-parser.ts +3 -1
- package/src/utils/codecs.ts +5 -34
- package/src/utils/fetch-loader.ts +1 -1
- package/src/utils/imsc1-ttml-parser.ts +1 -1
- package/src/utils/keysystem-util.ts +6 -1
- package/src/utils/logger.ts +23 -58
- package/src/utils/mp4-tools.ts +3 -5
- package/src/utils/webvtt-parser.ts +1 -1
- package/src/crypt/decrypter-aes-mode.ts +0 -4
- package/src/demux/video/hevc-video-parser.ts +0 -749
- package/src/empty-es.js +0 -5
- package/src/utils/encryption-methods-util.ts +0 -21
- package/src/utils/utf8-utils.ts +0 -18
package/dist/hls.js.d.ts
CHANGED
@@ -6,7 +6,7 @@ export declare interface AbrComponentAPI extends ComponentAPI {
|
|
6
6
|
resetEstimator(abrEwmaDefaultEstimate: number): any;
|
7
7
|
}
|
8
8
|
|
9
|
-
export declare class AbrController
|
9
|
+
export declare class AbrController implements AbrComponentAPI {
|
10
10
|
protected hls: Hls;
|
11
11
|
private lastLevelLoadSec;
|
12
12
|
private lastLoadedFragLevel;
|
@@ -112,8 +112,8 @@ export declare class AudioStreamController extends BaseStreamController implemen
|
|
112
112
|
private cachedTrackLoadedData;
|
113
113
|
constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader);
|
114
114
|
protected onHandlerDestroying(): void;
|
115
|
-
|
116
|
-
|
115
|
+
private _registerListeners;
|
116
|
+
private _unregisterListeners;
|
117
117
|
onInitPtsFound(event: Events.INIT_PTS_FOUND, { frag, id, initPTS, timescale }: InitPTSFoundData): void;
|
118
118
|
startLoad(startPosition: number): void;
|
119
119
|
doTick(): void;
|
@@ -121,18 +121,19 @@ export declare class AudioStreamController extends BaseStreamController implemen
|
|
121
121
|
protected resetLoadingState(): void;
|
122
122
|
protected onTickEnd(): void;
|
123
123
|
private doTickIdle;
|
124
|
-
protected
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
124
|
+
protected getMaxBufferLength(mainBufferLength?: number): number;
|
125
|
+
onMediaDetaching(): void;
|
126
|
+
onAudioTracksUpdated(event: Events.AUDIO_TRACKS_UPDATED, { audioTracks }: AudioTracksUpdatedData): void;
|
127
|
+
onAudioTrackSwitching(event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData): void;
|
128
|
+
onManifestLoading(): void;
|
129
|
+
onLevelLoaded(event: Events.LEVEL_LOADED, data: LevelLoadedData): void;
|
130
|
+
onAudioTrackLoaded(event: Events.AUDIO_TRACK_LOADED, data: TrackLoadedData): void;
|
130
131
|
_handleFragmentLoadProgress(data: FragLoadedData): void;
|
131
132
|
protected _handleFragmentLoadComplete(fragLoadedData: FragLoadedData): void;
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
133
|
+
onBufferReset(): void;
|
134
|
+
onBufferCreated(event: Events.BUFFER_CREATED, data: BufferCreatedData): void;
|
135
|
+
onFragBuffered(event: Events.FRAG_BUFFERED, data: FragBufferedData): void;
|
136
|
+
private onError;
|
136
137
|
private onBufferFlushing;
|
137
138
|
private onBufferFlushed;
|
138
139
|
private _handleTransmuxComplete;
|
@@ -187,11 +188,13 @@ export declare interface BackBufferData {
|
|
187
188
|
bufferEnd: number;
|
188
189
|
}
|
189
190
|
|
190
|
-
export declare class BasePlaylistController
|
191
|
+
export declare class BasePlaylistController implements NetworkComponentAPI {
|
191
192
|
protected hls: Hls;
|
192
193
|
protected timer: number;
|
193
194
|
protected requestScheduled: number;
|
194
195
|
protected canLoad: boolean;
|
196
|
+
protected log: (msg: any) => void;
|
197
|
+
protected warn: (msg: any) => void;
|
195
198
|
constructor(hls: Hls, logPrefix: string);
|
196
199
|
destroy(): void;
|
197
200
|
protected clearTimer(): void;
|
@@ -246,25 +249,22 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
246
249
|
protected startFragRequested: boolean;
|
247
250
|
protected decrypter: Decrypter;
|
248
251
|
protected initPTS: RationalTimestamp[];
|
249
|
-
protected
|
250
|
-
|
252
|
+
protected onvseeking: EventListener | null;
|
253
|
+
protected onvended: EventListener | null;
|
254
|
+
private readonly logPrefix;
|
255
|
+
protected log: (msg: any) => void;
|
256
|
+
protected warn: (msg: any) => void;
|
251
257
|
constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader, logPrefix: string, playlistType: PlaylistLevelType);
|
252
|
-
protected registerListeners(): void;
|
253
|
-
protected unregisterListeners(): void;
|
254
258
|
protected doTick(): void;
|
255
259
|
protected onTickEnd(): void;
|
256
260
|
startLoad(startPosition: number): void;
|
257
261
|
stopLoad(): void;
|
258
|
-
pauseBuffering(): void;
|
259
|
-
resumeBuffering(): void;
|
260
262
|
protected _streamEnded(bufferInfo: BufferInfo, levelDetails: LevelDetails): boolean;
|
261
263
|
protected getLevelDetails(): LevelDetails | undefined;
|
262
264
|
protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
|
263
265
|
protected onMediaDetaching(): void;
|
264
|
-
protected
|
265
|
-
protected
|
266
|
-
protected onMediaSeeking: () => void;
|
267
|
-
protected onMediaEnded: () => void;
|
266
|
+
protected onMediaSeeking(): void;
|
267
|
+
protected onMediaEnded(): void;
|
268
268
|
protected onManifestLoaded(event: Events.MANIFEST_LOADED, data: ManifestLoadedData): void;
|
269
269
|
protected onHandlerDestroying(): void;
|
270
270
|
protected onHandlerDestroyed(): void;
|
@@ -284,7 +284,6 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
284
284
|
private doFragPartsLoad;
|
285
285
|
private handleFragLoadError;
|
286
286
|
protected _handleTransmuxerFlush(chunkMeta: ChunkMetadata): void;
|
287
|
-
private shouldLoadParts;
|
288
287
|
protected getCurrentContext(chunkMeta: ChunkMetadata): {
|
289
288
|
frag: Fragment;
|
290
289
|
part: Part | null;
|
@@ -354,20 +353,17 @@ export declare interface BufferCodecsData {
|
|
354
353
|
audio?: Track;
|
355
354
|
}
|
356
355
|
|
357
|
-
export declare class BufferController
|
356
|
+
export declare class BufferController implements ComponentAPI {
|
358
357
|
private details;
|
359
358
|
private _objectUrl;
|
360
359
|
private operationQueue;
|
361
360
|
private listeners;
|
362
361
|
private hls;
|
363
|
-
private fragmentTracker;
|
364
362
|
bufferCodecEventsExpected: number;
|
365
363
|
private _bufferCodecEventsTotal;
|
366
364
|
media: HTMLMediaElement | null;
|
367
365
|
mediaSource: MediaSource | null;
|
368
366
|
private lastMpegAudioChunk;
|
369
|
-
private blockedAudioAppend;
|
370
|
-
private lastVideoAppendEnd;
|
371
367
|
private appendSource;
|
372
368
|
appendErrors: {
|
373
369
|
audio: number;
|
@@ -377,7 +373,10 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
377
373
|
tracks: TrackSet;
|
378
374
|
pendingTracks: TrackSet;
|
379
375
|
sourceBuffer: SourceBuffers;
|
380
|
-
|
376
|
+
protected log: (msg: any) => void;
|
377
|
+
protected warn: (msg: any, obj?: any) => void;
|
378
|
+
protected error: (msg: any, obj?: any) => void;
|
379
|
+
constructor(hls: Hls);
|
381
380
|
hasSourceTypes(): boolean;
|
382
381
|
destroy(): void;
|
383
382
|
protected registerListeners(): void;
|
@@ -392,11 +391,8 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
392
391
|
protected onBufferReset(): void;
|
393
392
|
private resetBuffer;
|
394
393
|
protected onBufferCodecs(event: Events.BUFFER_CODECS, data: BufferCodecsData): void;
|
395
|
-
protected appendChangeType(type:
|
396
|
-
private blockAudio;
|
397
|
-
private unblockAudio;
|
394
|
+
protected appendChangeType(type: any, mimeType: any): void;
|
398
395
|
protected onBufferAppending(event: Events.BUFFER_APPENDING, eventData: BufferAppendingData): void;
|
399
|
-
private getFlushOp;
|
400
396
|
protected onBufferFlushing(event: Events.BUFFER_FLUSHING, data: BufferFlushingData): void;
|
401
397
|
protected onFragParsed(event: Events.FRAG_PARSED, data: FragParsedData): void;
|
402
398
|
private onFragChanged;
|
@@ -410,8 +406,8 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
410
406
|
* 'liveDurationInfinity` is set to `true`
|
411
407
|
* More details: https://github.com/video-dev/hls.js/issues/355
|
412
408
|
*/
|
413
|
-
private
|
414
|
-
|
409
|
+
private updateMediaElementDuration;
|
410
|
+
updateSeekableRange(levelDetails: any): void;
|
415
411
|
protected checkPendingTracks(): void;
|
416
412
|
protected createSourceBuffers(tracks: TrackSet): void;
|
417
413
|
private _onMediaSourceOpen;
|
@@ -606,8 +602,6 @@ export declare class CMCDController implements ComponentAPI {
|
|
606
602
|
* Apply CMCD data to a segment request
|
607
603
|
*/
|
608
604
|
private applyFragmentData;
|
609
|
-
private getNextFrag;
|
610
|
-
private getNextPart;
|
611
605
|
/**
|
612
606
|
* The CMCD object type.
|
613
607
|
*/
|
@@ -641,12 +635,13 @@ export declare interface ComponentAPI {
|
|
641
635
|
destroy(): void;
|
642
636
|
}
|
643
637
|
|
644
|
-
export declare class ContentSteeringController
|
638
|
+
export declare class ContentSteeringController implements NetworkComponentAPI {
|
645
639
|
private readonly hls;
|
640
|
+
private log;
|
646
641
|
private loader;
|
647
642
|
private uri;
|
648
643
|
private pathwayId;
|
649
|
-
private
|
644
|
+
private pathwayPriority;
|
650
645
|
private timeToLoad;
|
651
646
|
private reloadTimer;
|
652
647
|
private updated;
|
@@ -659,9 +654,6 @@ export declare class ContentSteeringController extends Logger implements Network
|
|
659
654
|
constructor(hls: Hls);
|
660
655
|
private registerListeners;
|
661
656
|
private unregisterListeners;
|
662
|
-
pathways(): string[];
|
663
|
-
get pathwayPriority(): string[] | null;
|
664
|
-
set pathwayPriority(pathwayPriority: string[]);
|
665
657
|
startLoad(): void;
|
666
658
|
stopLoad(): void;
|
667
659
|
clearTimeout(): void;
|
@@ -735,7 +727,6 @@ declare class Decrypter {
|
|
735
727
|
private currentIV;
|
736
728
|
private currentResult;
|
737
729
|
private useSoftware;
|
738
|
-
private enableSoftwareAES;
|
739
730
|
constructor(config: HlsConfig, { removePKCS7Padding }?: {
|
740
731
|
removePKCS7Padding?: boolean | undefined;
|
741
732
|
});
|
@@ -743,19 +734,14 @@ declare class Decrypter {
|
|
743
734
|
isSync(): boolean;
|
744
735
|
flush(): Uint8Array | null;
|
745
736
|
reset(): void;
|
746
|
-
decrypt(data: Uint8Array | ArrayBuffer, key: ArrayBuffer, iv: ArrayBuffer
|
747
|
-
softwareDecrypt(data: Uint8Array, key: ArrayBuffer, iv: ArrayBuffer
|
748
|
-
webCryptoDecrypt(data: Uint8Array, key: ArrayBuffer, iv: ArrayBuffer
|
737
|
+
decrypt(data: Uint8Array | ArrayBuffer, key: ArrayBuffer, iv: ArrayBuffer): Promise<ArrayBuffer>;
|
738
|
+
softwareDecrypt(data: Uint8Array, key: ArrayBuffer, iv: ArrayBuffer): ArrayBuffer | null;
|
739
|
+
webCryptoDecrypt(data: Uint8Array, key: ArrayBuffer, iv: ArrayBuffer): Promise<ArrayBuffer>;
|
749
740
|
private onWebCryptoError;
|
750
741
|
private getValidChunk;
|
751
742
|
private logOnce;
|
752
743
|
}
|
753
744
|
|
754
|
-
declare const enum DecrypterAesMode {
|
755
|
-
cbc = 0,
|
756
|
-
ctr = 1
|
757
|
-
}
|
758
|
-
|
759
745
|
declare type DRMSystemConfiguration = {
|
760
746
|
licenseUrl: string;
|
761
747
|
serverCertificateUrl?: string;
|
@@ -801,7 +787,7 @@ export declare const enum ElementaryStreamTypes {
|
|
801
787
|
* @class
|
802
788
|
* @constructor
|
803
789
|
*/
|
804
|
-
export declare class EMEController
|
790
|
+
export declare class EMEController implements ComponentAPI {
|
805
791
|
static CDMCleanupPromise: Promise<void> | void;
|
806
792
|
private readonly hls;
|
807
793
|
private readonly config;
|
@@ -812,6 +798,12 @@ export declare class EMEController extends Logger implements ComponentAPI {
|
|
812
798
|
private mediaKeySessions;
|
813
799
|
private keyIdToKeySessionPromise;
|
814
800
|
private setMediaKeysQueue;
|
801
|
+
private onMediaEncrypted;
|
802
|
+
private onWaitingForKey;
|
803
|
+
private debug;
|
804
|
+
private log;
|
805
|
+
private warn;
|
806
|
+
private error;
|
815
807
|
constructor(hls: Hls);
|
816
808
|
destroy(): void;
|
817
809
|
private registerListeners;
|
@@ -832,8 +824,8 @@ export declare class EMEController extends Logger implements ComponentAPI {
|
|
832
824
|
private handleError;
|
833
825
|
private getKeySystemForKeyPromise;
|
834
826
|
private getKeySystemSelectionPromise;
|
835
|
-
private
|
836
|
-
private
|
827
|
+
private _onMediaEncrypted;
|
828
|
+
private _onWaitingForKey;
|
837
829
|
private attemptSetMediaKeys;
|
838
830
|
private generateRequestWithPreferredKeySession;
|
839
831
|
private onKeyStatusChange;
|
@@ -867,10 +859,13 @@ export declare const enum ErrorActionFlags {
|
|
867
859
|
SwitchToSDR = 4
|
868
860
|
}
|
869
861
|
|
870
|
-
export declare class ErrorController
|
862
|
+
export declare class ErrorController implements NetworkComponentAPI {
|
871
863
|
private readonly hls;
|
872
864
|
private playlistError;
|
873
865
|
private penalizedRenditions;
|
866
|
+
private log;
|
867
|
+
private warn;
|
868
|
+
private error;
|
874
869
|
constructor(hls: Hls);
|
875
870
|
private registerListeners;
|
876
871
|
private unregisterListeners;
|
@@ -980,7 +975,6 @@ export declare enum Events {
|
|
980
975
|
MEDIA_ATTACHED = "hlsMediaAttached",
|
981
976
|
MEDIA_DETACHING = "hlsMediaDetaching",
|
982
977
|
MEDIA_DETACHED = "hlsMediaDetached",
|
983
|
-
MEDIA_ENDED = "hlsMediaEnded",
|
984
978
|
BUFFER_RESET = "hlsBufferReset",
|
985
979
|
BUFFER_CODECS = "hlsBufferCodecs",
|
986
980
|
BUFFER_CREATED = "hlsBufferCreated",
|
@@ -1074,7 +1068,6 @@ export declare class FPSController implements ComponentAPI {
|
|
1074
1068
|
protected unregisterListeners(): void;
|
1075
1069
|
destroy(): void;
|
1076
1070
|
protected onMediaAttaching(event: Events.MEDIA_ATTACHING, data: MediaAttachingData): void;
|
1077
|
-
private onMediaDetaching;
|
1078
1071
|
checkFPS(video: HTMLVideoElement, decodedFrames: number, droppedFrames: number): void;
|
1079
1072
|
checkFPSInterval(): void;
|
1080
1073
|
}
|
@@ -1257,7 +1250,6 @@ declare class FragmentTracker implements ComponentAPI {
|
|
1257
1250
|
* If not found any Fragment, return null
|
1258
1251
|
*/
|
1259
1252
|
getBufferedFrag(position: number, levelType: PlaylistLevelType): Fragment | null;
|
1260
|
-
getFragAtPos(position: number, levelType: PlaylistLevelType, buffered?: boolean): Fragment | null;
|
1261
1253
|
/**
|
1262
1254
|
* Partial fragments effected by coded frame eviction will be removed
|
1263
1255
|
* The browser will unload parts of the buffer to free up memory for new buffer data
|
@@ -1329,12 +1321,9 @@ declare class Hls implements HlsEventEmitter {
|
|
1329
1321
|
* The configuration object provided on player instantiation.
|
1330
1322
|
*/
|
1331
1323
|
readonly userConfig: Partial<HlsConfig>;
|
1332
|
-
/**
|
1333
|
-
* The logger functions used by this player instance, configured on player instantiation.
|
1334
|
-
*/
|
1335
|
-
readonly logger: ILogger;
|
1336
1324
|
private coreComponents;
|
1337
1325
|
private networkControllers;
|
1326
|
+
private started;
|
1338
1327
|
private _emitter;
|
1339
1328
|
private _autoLevelCapping;
|
1340
1329
|
private _maxHdcpLevel;
|
@@ -1421,11 +1410,11 @@ declare class Hls implements HlsEventEmitter {
|
|
1421
1410
|
*/
|
1422
1411
|
stopLoad(): void;
|
1423
1412
|
/**
|
1424
|
-
* Resumes stream controller segment loading
|
1413
|
+
* Resumes stream controller segment loading if previously started.
|
1425
1414
|
*/
|
1426
1415
|
resumeBuffering(): void;
|
1427
1416
|
/**
|
1428
|
-
*
|
1417
|
+
* Stops stream controller segment loading without changing 'started' state like stopLoad().
|
1429
1418
|
* This allows for media buffering to be paused without interupting playlist loading.
|
1430
1419
|
*/
|
1431
1420
|
pauseBuffering(): void;
|
@@ -1570,7 +1559,6 @@ declare class Hls implements HlsEventEmitter {
|
|
1570
1559
|
*/
|
1571
1560
|
get playingDate(): Date | null;
|
1572
1561
|
get mainForwardBufferInfo(): BufferInfo | null;
|
1573
|
-
get maxBufferLength(): number;
|
1574
1562
|
/**
|
1575
1563
|
* Find and select the best matching audio track, making a level switch when a Group change is necessary.
|
1576
1564
|
* Updates `hls.config.audioPreference`. Returns the selected track, or null when no matching track is found.
|
@@ -1658,11 +1646,6 @@ declare class Hls implements HlsEventEmitter {
|
|
1658
1646
|
* set to true when startLoad is called before MANIFEST_PARSED event
|
1659
1647
|
*/
|
1660
1648
|
get forceStartLoad(): boolean;
|
1661
|
-
/**
|
1662
|
-
* ContentSteering pathwayPriority getter/setter
|
1663
|
-
*/
|
1664
|
-
get pathwayPriority(): string[] | null;
|
1665
|
-
set pathwayPriority(pathwayPriority: string[]);
|
1666
1649
|
}
|
1667
1650
|
export default Hls;
|
1668
1651
|
|
@@ -1723,7 +1706,6 @@ export declare interface HlsListeners {
|
|
1723
1706
|
[Events.MEDIA_ATTACHED]: (event: Events.MEDIA_ATTACHED, data: MediaAttachedData) => void;
|
1724
1707
|
[Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void;
|
1725
1708
|
[Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void;
|
1726
|
-
[Events.MEDIA_ENDED]: (event: Events.MEDIA_ENDED, data: MediaEndedData) => void;
|
1727
1709
|
[Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void;
|
1728
1710
|
[Events.BUFFER_CODECS]: (event: Events.BUFFER_CODECS, data: BufferCodecsData) => void;
|
1729
1711
|
[Events.BUFFER_CREATED]: (event: Events.BUFFER_CREATED, data: BufferCreatedData) => void;
|
@@ -2275,16 +2257,6 @@ export declare class LoadStats implements LoaderStats {
|
|
2275
2257
|
buffering: HlsProgressivePerformanceTiming;
|
2276
2258
|
}
|
2277
2259
|
|
2278
|
-
export declare class Logger implements ILogger {
|
2279
|
-
trace: ILogFunction;
|
2280
|
-
debug: ILogFunction;
|
2281
|
-
log: ILogFunction;
|
2282
|
-
warn: ILogFunction;
|
2283
|
-
info: ILogFunction;
|
2284
|
-
error: ILogFunction;
|
2285
|
-
constructor(label: string, logger: ILogger);
|
2286
|
-
}
|
2287
|
-
|
2288
2260
|
export declare type MainPlaylistType = AudioPlaylistType | 'VIDEO';
|
2289
2261
|
|
2290
2262
|
export declare interface ManifestLoadedData {
|
@@ -2360,10 +2332,6 @@ export declare type MediaDecodingInfo = {
|
|
2360
2332
|
error?: Error;
|
2361
2333
|
};
|
2362
2334
|
|
2363
|
-
export declare interface MediaEndedData {
|
2364
|
-
stalled: boolean;
|
2365
|
-
}
|
2366
|
-
|
2367
2335
|
export declare type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise<MediaKeySystemAccess>;
|
2368
2336
|
|
2369
2337
|
export declare interface MediaKeySessionContext {
|
@@ -2433,8 +2401,6 @@ export declare type MP4RemuxerConfig = {
|
|
2433
2401
|
export declare interface NetworkComponentAPI extends ComponentAPI {
|
2434
2402
|
startLoad(startPosition: number): void;
|
2435
2403
|
stopLoad(): void;
|
2436
|
-
pauseBuffering?(): void;
|
2437
|
-
resumeBuffering?(): void;
|
2438
2404
|
}
|
2439
2405
|
|
2440
2406
|
export declare const enum NetworkErrorAction {
|
@@ -2674,14 +2640,16 @@ declare class StreamController extends BaseStreamController implements NetworkCo
|
|
2674
2640
|
private altAudio;
|
2675
2641
|
private audioOnly;
|
2676
2642
|
private fragPlaying;
|
2643
|
+
private onvplaying;
|
2644
|
+
private onvseeked;
|
2677
2645
|
private fragLastKbps;
|
2678
2646
|
private couldBacktrack;
|
2679
2647
|
private backtrackFragment;
|
2680
2648
|
private audioCodecSwitch;
|
2681
2649
|
private videoBuffer;
|
2682
2650
|
constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader);
|
2683
|
-
|
2684
|
-
protected
|
2651
|
+
private _registerListeners;
|
2652
|
+
protected _unregisterListeners(): void;
|
2685
2653
|
protected onHandlerDestroying(): void;
|
2686
2654
|
startLoad(startPosition: number): void;
|
2687
2655
|
stopLoad(): void;
|
@@ -2705,7 +2673,7 @@ declare class StreamController extends BaseStreamController implements NetworkCo
|
|
2705
2673
|
protected onMediaDetaching(): void;
|
2706
2674
|
private onMediaPlaying;
|
2707
2675
|
private onMediaSeeked;
|
2708
|
-
|
2676
|
+
private onManifestLoading;
|
2709
2677
|
private onManifestParsed;
|
2710
2678
|
private onLevelLoading;
|
2711
2679
|
private onLevelLoaded;
|
@@ -2714,7 +2682,7 @@ declare class StreamController extends BaseStreamController implements NetworkCo
|
|
2714
2682
|
private onAudioTrackSwitched;
|
2715
2683
|
private onBufferCreated;
|
2716
2684
|
private onFragBuffered;
|
2717
|
-
|
2685
|
+
private onError;
|
2718
2686
|
private checkBuffer;
|
2719
2687
|
private onFragLoadEmergencyAborted;
|
2720
2688
|
private onBufferFlushed;
|
@@ -2729,7 +2697,6 @@ declare class StreamController extends BaseStreamController implements NetworkCo
|
|
2729
2697
|
private _handleTransmuxComplete;
|
2730
2698
|
private _bufferInitSegment;
|
2731
2699
|
getMainFwdBufferInfo(): BufferInfo | null;
|
2732
|
-
get maxBufferLength(): number;
|
2733
2700
|
private backtrack;
|
2734
2701
|
private checkFragmentChanged;
|
2735
2702
|
get nextLevel(): number;
|
@@ -2772,6 +2739,11 @@ declare class StyledUnicodeChar {
|
|
2772
2739
|
isEmpty(): boolean;
|
2773
2740
|
}
|
2774
2741
|
|
2742
|
+
declare interface SubtitleFragProcessed {
|
2743
|
+
success: boolean;
|
2744
|
+
frag: Fragment;
|
2745
|
+
}
|
2746
|
+
|
2775
2747
|
export declare interface SubtitleFragProcessedData {
|
2776
2748
|
success: boolean;
|
2777
2749
|
frag: Fragment;
|
@@ -2796,21 +2768,22 @@ export declare class SubtitleStreamController extends BaseStreamController imple
|
|
2796
2768
|
private mainDetails;
|
2797
2769
|
constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader);
|
2798
2770
|
protected onHandlerDestroying(): void;
|
2799
|
-
|
2800
|
-
|
2771
|
+
private _registerListeners;
|
2772
|
+
private _unregisterListeners;
|
2801
2773
|
startLoad(startPosition: number): void;
|
2802
|
-
|
2803
|
-
|
2804
|
-
|
2805
|
-
|
2806
|
-
|
2807
|
-
|
2808
|
-
|
2809
|
-
|
2810
|
-
|
2811
|
-
|
2774
|
+
onManifestLoading(): void;
|
2775
|
+
onMediaDetaching(): void;
|
2776
|
+
onLevelLoaded(event: Events.LEVEL_LOADED, data: LevelLoadedData): void;
|
2777
|
+
onSubtitleFragProcessed(event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessed): void;
|
2778
|
+
onBufferFlushing(event: Events.BUFFER_FLUSHING, data: BufferFlushingData): void;
|
2779
|
+
onFragBuffered(event: Events.FRAG_BUFFERED, data: FragBufferedData): void;
|
2780
|
+
onError(event: Events.ERROR, data: ErrorData): void;
|
2781
|
+
onSubtitleTracksUpdated(event: Events.SUBTITLE_TRACKS_UPDATED, { subtitleTracks }: SubtitleTracksUpdatedData): void;
|
2782
|
+
onSubtitleTrackSwitch(event: Events.SUBTITLE_TRACK_SWITCH, data: TrackSwitchedData): void;
|
2783
|
+
onSubtitleTrackLoaded(event: Events.SUBTITLE_TRACK_LOADED, data: TrackLoadedData): void;
|
2812
2784
|
_handleFragmentLoadComplete(fragLoadedData: FragLoadedData): void;
|
2813
2785
|
doTick(): void;
|
2786
|
+
protected getMaxBufferLength(mainBufferLength?: number): number;
|
2814
2787
|
protected loadFragment(frag: Fragment, level: Level, targetBufferTime: number): void;
|
2815
2788
|
get mediaBufferTimeRanges(): Bufferable;
|
2816
2789
|
}
|
@@ -2824,10 +2797,10 @@ export declare class SubtitleTrackController extends BasePlaylistController {
|
|
2824
2797
|
private currentTrack;
|
2825
2798
|
private selectDefaultTrack;
|
2826
2799
|
private queuedDefaultTrack;
|
2800
|
+
private asyncPollTrackChange;
|
2827
2801
|
private useTextTrackPolling;
|
2828
2802
|
private subtitlePollingInterval;
|
2829
2803
|
private _subtitleDisplay;
|
2830
|
-
private asyncPollTrackChange;
|
2831
2804
|
constructor(hls: Hls);
|
2832
2805
|
destroy(): void;
|
2833
2806
|
get subtitleDisplay(): boolean;
|
@@ -2912,12 +2885,12 @@ export declare interface SubtitleTrackSwitchData {
|
|
2912
2885
|
* we are limiting the task execution per call stack to exactly one, but scheduling/post-poning further
|
2913
2886
|
* task processing on the next main loop iteration (also known as "next tick" in the Node/JS runtime lingo).
|
2914
2887
|
*/
|
2915
|
-
declare class TaskLoop
|
2888
|
+
declare class TaskLoop {
|
2916
2889
|
private readonly _boundTick;
|
2917
2890
|
private _tickTimer;
|
2918
2891
|
private _tickInterval;
|
2919
2892
|
private _tickCallCount;
|
2920
|
-
constructor(
|
2893
|
+
constructor();
|
2921
2894
|
destroy(): void;
|
2922
2895
|
protected onHandlerDestroying(): void;
|
2923
2896
|
protected onHandlerDestroyed(): void;
|
@@ -3048,6 +3021,10 @@ export declare interface TrackSet {
|
|
3048
3021
|
audiovideo?: Track;
|
3049
3022
|
}
|
3050
3023
|
|
3024
|
+
declare interface TrackSwitchedData {
|
3025
|
+
id: number;
|
3026
|
+
}
|
3027
|
+
|
3051
3028
|
declare class TransmuxerInterface {
|
3052
3029
|
error: Error | null;
|
3053
3030
|
private hls;
|