@give-tech/ec-player 0.0.1-beta.5 → 0.0.1-beta.50

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.
Files changed (35) hide show
  1. package/dist/decoder/H264Decoder.d.ts +5 -0
  2. package/dist/decoder/H264Decoder.d.ts.map +1 -1
  3. package/dist/decoder/HEVCDecoder.d.ts +5 -0
  4. package/dist/decoder/HEVCDecoder.d.ts.map +1 -1
  5. package/dist/decoder/WASMLoader.d.ts +31 -2
  6. package/dist/decoder/WASMLoader.d.ts.map +1 -1
  7. package/dist/demuxer/fMP4Demuxer.d.ts +28 -4
  8. package/dist/demuxer/fMP4Demuxer.d.ts.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1293 -244
  12. package/dist/index.js.map +1 -1
  13. package/dist/player/BasePlayer.d.ts +21 -0
  14. package/dist/player/BasePlayer.d.ts.map +1 -1
  15. package/dist/player/EcPlayerCore.d.ts +9 -0
  16. package/dist/player/EcPlayerCore.d.ts.map +1 -1
  17. package/dist/player/FLVPlayer.d.ts +24 -0
  18. package/dist/player/FLVPlayer.d.ts.map +1 -1
  19. package/dist/player/HLSPlayer.d.ts +55 -1
  20. package/dist/player/HLSPlayer.d.ts.map +1 -1
  21. package/dist/prefetch/BasePrefetcher.d.ts.map +1 -1
  22. package/dist/prefetch/SegmentPrefetcher.d.ts +15 -6
  23. package/dist/prefetch/SegmentPrefetcher.d.ts.map +1 -1
  24. package/dist/prefetch/StreamPrefetcher.d.ts.map +1 -1
  25. package/dist/prefetch/index.d.ts +1 -1
  26. package/dist/prefetch/index.d.ts.map +1 -1
  27. package/dist/prefetch/types.d.ts +17 -0
  28. package/dist/prefetch/types.d.ts.map +1 -1
  29. package/dist/renderer/Canvas2DRenderer.d.ts +4 -0
  30. package/dist/renderer/Canvas2DRenderer.d.ts.map +1 -1
  31. package/dist/types/index.d.ts +19 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/wasm/decoder.js +19 -0
  35. package/wasm/decoder.wasm +0 -0
@@ -38,6 +38,7 @@ export declare abstract class BasePlayer<Config extends PlayerConfig = PlayerCon
38
38
  protected decodeLoopAbort: boolean;
39
39
  protected _currentTime: number;
40
40
  protected _duration: number;
41
+ protected _playbackRate: number;
41
42
  protected state: PlayerState;
42
43
  constructor(config: Config, callbacks: PlayerCallbacks, defaults: Required<Config>);
43
44
  /**
@@ -61,6 +62,17 @@ export declare abstract class BasePlayer<Config extends PlayerConfig = PlayerCon
61
62
  * 初始化解码器
62
63
  */
63
64
  initDecoder(): Promise<void>;
65
+ /**
66
+ * 预初始化解码器(并行加载优化)
67
+ * 在数据下载的同时加载 WASM 模块
68
+ * 返回初始化结果,供 finishInitDecoder 使用
69
+ */
70
+ preInitDecoder(): Promise<unknown>;
71
+ /**
72
+ * 完成解码器初始化
73
+ * 使用 preInitDecoder 的结果完成初始化
74
+ */
75
+ finishInitDecoder(_initResult: unknown): Promise<void>;
64
76
  /**
65
77
  * 开始播放
66
78
  */
@@ -85,6 +97,15 @@ export declare abstract class BasePlayer<Config extends PlayerConfig = PlayerCon
85
97
  * 获取总时长(毫秒)
86
98
  */
87
99
  getDuration(): number;
100
+ /**
101
+ * 获取播放倍速
102
+ */
103
+ getPlaybackRate(): number;
104
+ /**
105
+ * 设置播放倍速
106
+ * @param rate 倍速值(1 = 正常,2 = 2倍速等)
107
+ */
108
+ setPlaybackRate(rate: number): void;
88
109
  /**
89
110
  * 设置当前时间(供子类调用)
90
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlayer.d.ts","sourceRoot":"","sources":["../../src/player/BasePlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasePlayer.d.ts","sourceRoot":"","sources":["../../src/player/BasePlayer.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,15 @@ export declare class EcPlayerCore {
56
56
  * 获取总时长(毫秒)
57
57
  */
58
58
  getDuration(): number;
59
+ /**
60
+ * 获取播放倍速
61
+ */
62
+ getPlaybackRate(): number;
63
+ /**
64
+ * 设置播放倍速
65
+ * @param rate 倍速值(1 = 正常,2 = 2倍速等)
66
+ */
67
+ setPlaybackRate(rate: number): void;
59
68
  /**
60
69
  * 获取播放状态
61
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EcPlayerCore.d.ts","sourceRoot":"","sources":["../../src/player/EcPlayerCore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAyB,MAAM,cAAc,CAAA;AAGnF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG5D,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,uBAAuB;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAGD,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,aAAa;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAgC;gBAEpC,MAAM,GAAE,kBAAuB,EAAE,SAAS,GAAE,eAAoB;IAW5E;;;;OAIG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCxD;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;;OAGG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,QAAQ,IAAI,WAAW;IAuBvB;;OAEG;IACH,iBAAiB,IAAI,YAAY;IAIjC;;OAEG;IACH,OAAO,IAAI,IAAI;IAYf;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,IAAI;CAG/B"}
1
+ {"version":3,"file":"EcPlayerCore.d.ts","sourceRoot":"","sources":["../../src/player/EcPlayerCore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAyB,MAAM,cAAc,CAAA;AAGnF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG5D,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,uBAAuB;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAGD,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,aAAa;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAgC;gBAEpC,MAAM,GAAE,kBAAuB,EAAE,SAAS,GAAE,eAAoB;IAW5E;;;;OAIG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDxD;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;;OAGG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAyBvB;;OAEG;IACH,iBAAiB,IAAI,YAAY;IAIjC;;OAEG;IACH,OAAO,IAAI,IAAI;IAYf;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,IAAI;CAG/B"}
@@ -33,6 +33,8 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
33
33
  private liveReader;
34
34
  private liveDownloadAbort;
35
35
  private _lastQueuedTimestamp;
36
+ private abortController;
37
+ private readyFired;
36
38
  private _currentDownloadSpeed;
37
39
  get videoTagQueue(): QueuedVideoTag[];
38
40
  get currentCodecId(): number;
@@ -46,6 +48,16 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
46
48
  * 初始化解码器(覆盖基类方法,支持 AVC 和 HEVC)
47
49
  */
48
50
  initDecoder(): Promise<void>;
51
+ private _decoderInitContext;
52
+ /**
53
+ * 预初始化解码器(并行加载优化)
54
+ * 在数据下载的同时加载 WASM 模块
55
+ */
56
+ preInitDecoder(): Promise<unknown>;
57
+ /**
58
+ * 完成解码器初始化(使用预加载的 WASM)
59
+ */
60
+ finishInitDecoder(_initResult: unknown): Promise<void>;
49
61
  /**
50
62
  * 根据视频分辨率动态调整缓冲参数
51
63
  */
@@ -58,6 +70,10 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
58
70
  * 暂停播放
59
71
  */
60
72
  pause(): void;
73
+ /**
74
+ * 销毁播放器,释放所有资源
75
+ */
76
+ destroy(): void;
61
77
  /**
62
78
  * 处理预取缓冲区数据(供预取器调用)
63
79
  */
@@ -69,6 +85,11 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
69
85
  * 跳转到指定时间
70
86
  */
71
87
  seek(time: number): Promise<void>;
88
+ /**
89
+ * 设置播放倍速(覆盖基类方法)
90
+ * 切换倍速时需要重置时间基准,避免跳跃
91
+ */
92
+ setPlaybackRate(rate: number): void;
72
93
  /**
73
94
  * 解码循环
74
95
  */
@@ -76,6 +97,8 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
76
97
  /**
77
98
  * 流式加载 FLV 文件
78
99
  */
100
+ private _totalFileSize;
101
+ private _downloadedBytes;
79
102
  private loadFLV;
80
103
  /**
81
104
  * 初始化预取器
@@ -121,6 +144,7 @@ export declare class FLVPlayer extends BasePlayer<FLVPlayerConfig> {
121
144
  private bufferEmptyStartTime;
122
145
  private playStartTimeOffset;
123
146
  private resyncCount;
147
+ private _lastRafTime;
124
148
  /**
125
149
  * 渲染循环
126
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FLVPlayer.d.ts","sourceRoot":"","sources":["../../src/player/FLVPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FLVPlayer.d.ts","sourceRoot":"","sources":["../../src/player/FLVPlayer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * HLS 播放器
3
3
  *
4
4
  * 支持 HLS TS 和 fMP4 格式
5
+ * 支持 H.264 (AVC) 和 H.265 (HEVC) 编码
5
6
  */
6
7
  import { type VideoSample } from '../demuxer/fMP4Demuxer';
7
8
  import { BasePlayer } from './BasePlayer';
@@ -9,6 +10,7 @@ import type { HLSPlayerConfig, NALUnit } from '../types';
9
10
  interface QueuedNAL {
10
11
  nalUnit: NALUnit;
11
12
  pts: number;
13
+ segmentDuration?: number;
12
14
  }
13
15
  interface QueuedSample {
14
16
  sample: VideoSample;
@@ -18,19 +20,27 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
18
20
  private pesExtractor;
19
21
  private nalParser;
20
22
  private fmp4Demuxer;
23
+ private hevcDecoder;
21
24
  private isPrefetching;
22
25
  private currentSegmentIndex;
23
26
  private segments;
24
27
  private fmp4Segments;
25
28
  private initSegment;
26
29
  private _isFMP4;
30
+ private _isHevc;
27
31
  private currentPlaylistUrl;
28
32
  private _nalQueue;
29
33
  private _sampleQueue;
34
+ private _currentSegmentDuration;
30
35
  private prefetcher;
36
+ private abortController;
37
+ private readyFired;
31
38
  get isFMP4(): boolean;
39
+ get isHevc(): boolean;
32
40
  get nalQueue(): QueuedNAL[];
33
41
  get sampleQueue(): QueuedSample[];
42
+ /** 获取 AbortSignal(供预取器使用) */
43
+ getAbortSignal(): AbortSignal;
34
44
  constructor(config?: HLSPlayerConfig, callbacks?: import('../types').PlayerCallbacks);
35
45
  /**
36
46
  * 加载 HLS 播放列表
@@ -40,14 +50,32 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
40
50
  * 初始化解码器(覆盖基类方法,添加 fMP4 支持)
41
51
  */
42
52
  initDecoder(): Promise<void>;
53
+ /**
54
+ * 预初始化解码器(并行加载优化)
55
+ * 在数据下载的同时加载 WASM 模块
56
+ */
57
+ preInitDecoder(): Promise<unknown>;
58
+ /**
59
+ * 完成解码器初始化(使用预加载的 WASM)
60
+ */
61
+ finishInitDecoder(initResult: unknown): Promise<void>;
43
62
  /**
44
63
  * 开始播放(覆盖基类方法,使用自定义渲染循环)
45
64
  */
46
65
  play(): Promise<void>;
66
+ /**
67
+ * 销毁播放器,释放所有资源
68
+ */
69
+ destroy(): void;
47
70
  /**
48
71
  * 跳转到指定时间
49
72
  */
50
73
  seek(time: number): Promise<void>;
74
+ /**
75
+ * 设置播放倍速(覆盖基类方法)
76
+ * 切换倍速时需要重置时间基准,避免跳跃
77
+ */
78
+ setPlaybackRate(rate: number): void;
51
79
  /**
52
80
  * 解码循环
53
81
  */
@@ -63,15 +91,27 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
63
91
  /**
64
92
  * 解析 TS 数据
65
93
  */
66
- parseTSData(tsData: Uint8Array): number;
94
+ parseTSData(tsData: Uint8Array, segmentDuration?: number): number;
67
95
  /**
68
96
  * 加载 fMP4 初始化段
69
97
  */
70
98
  private loadInitSegment;
99
+ /**
100
+ * 加载新的初始化段(用于不连续性流)
101
+ */
102
+ loadNewInitSegment(uri: string): Promise<void>;
103
+ /**
104
+ * 初始化 HEVC 解码器
105
+ */
106
+ private initHevcDecoder;
71
107
  /**
72
108
  * 从 avcC 初始化解码器
73
109
  */
74
110
  private initDecoderFromAvcC;
111
+ /**
112
+ * 从 hvcC 初始化 HEVC 解码器
113
+ */
114
+ private initDecoderFromHvcC;
75
115
  /**
76
116
  * 解析 HLS 播放列表
77
117
  */
@@ -86,6 +126,7 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
86
126
  * 解码 fMP4 sample
87
127
  */
88
128
  private decodeSample;
129
+ private _nalCountInCurrentSegment;
89
130
  /**
90
131
  * 解码单个 NAL 单元
91
132
  */
@@ -94,6 +135,19 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
94
135
  * 渲染循环
95
136
  */
96
137
  private lastRenderTime;
138
+ private playStartTime;
139
+ private accumulatedMediaTime;
140
+ private _lastLogTime;
141
+ private _lastRafTime;
142
+ /**
143
+ * 渲染循环 - 基于 duration 累加控制播放速度
144
+ *
145
+ * 核心原理:
146
+ * 1. 使用帧的 duration(从容器中提取)来控制播放节奏
147
+ * 2. 累加已播放帧的 duration 得到 accumulatedMediaTime
148
+ * 3. 比较 elapsedWallTime 和 accumulatedMediaTime 来决定是否渲染下一帧
149
+ * 4. 完全不受 PTS 跳跃影响
150
+ */
97
151
  protected renderLoop: (timestamp?: number) => void;
98
152
  }
99
153
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"HLSPlayer.d.ts","sourceRoot":"","sources":["../../src/player/HLSPlayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEtE,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,UAAU,CAAA;AAmCpE,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAGD,UAAU,YAAY;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AAoFD,qBAAa,SAAU,SAAQ,UAAU,CAAC,eAAe,CAAC;IAExD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAGvC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,UAAU,CAAoC;IAGtD,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAA0B;IACrD,IAAI,WAAW,IAAI,YAAY,EAAE,CAA6B;gBAElD,MAAM,GAAE,eAAoB,EAAE,SAAS,GAAE,OAAO,UAAU,EAAE,eAAoB;IAI5F;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDtC;;OAEG;IACY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3C;;OAEG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBpC;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;OAEG;cACsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEpD;;OAEG;IACH,OAAO,CAAC,cAAc;IAuCtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAqCvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAyBvC;;OAEG;YACW,eAAe;IAmC7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;YACW,aAAa;IA0F3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgFpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAE1B,UAAmB,UAAU,GAAI,YAAW,MAAU,KAAG,IAAI,CAqC5D;CACF"}
1
+ {"version":3,"file":"HLSPlayer.d.ts","sourceRoot":"","sources":["../../src/player/HLSPlayer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEtE,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,UAAU,CAAA;AAoCpE,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAGD,UAAU,YAAY;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AA4KD,qBAAa,SAAU,SAAQ,UAAU,CAAC,eAAe,CAAC;IAExD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAGvC,OAAO,CAAC,WAAW,CAA2B;IAG9C,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,uBAAuB,CAAI;IAGnC,OAAO,CAAC,UAAU,CAAoC;IAGtD,OAAO,CAAC,eAAe,CAA+B;IAGtD,OAAO,CAAC,UAAU,CAAQ;IAG1B,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAA0B;IACrD,IAAI,WAAW,IAAI,YAAY,EAAE,CAA6B;IAE9D,6BAA6B;IAC7B,cAAc,IAAI,WAAW;gBAUjB,MAAM,GAAE,eAAoB,EAAE,SAAS,GAAE,OAAO,UAAU,EAAE,eAAoB;IAI5F;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiEtC;;OAEG;IACY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3C;;;OAGG;IACY,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjD;;OAEG;IACY,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE;;OAEG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBpC;;OAEG;IACM,OAAO,IAAI,IAAI;IA0CxB;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IACM,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAuB5C;;OAEG;cACsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqLpD;;OAEG;IACH,OAAO,CAAC,cAAc;IAuDtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IA+DvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;IAkCjE;;OAEG;YACW,eAAe;IA6D7B;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4EpD;;OAEG;YACW,eAAe;IAQ7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmD3B;;OAEG;YACW,aAAa;IA0H3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgIpB,OAAO,CAAC,yBAAyB,CAAI;IAErC;;OAEG;IACH,OAAO,CAAC,SAAS;IA2BjB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,YAAY,CAAI;IAExB;;;;;;;;OAQG;IACH,UAAmB,UAAU,GAAI,YAAW,MAAU,KAAG,IAAI,CA6I5D;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasePrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/BasePrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,8BAAsB,cAAc,CAClC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAEnD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACxC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IAGtD,SAAS,CAAC,iBAAiB,SAAI;IAC/B,SAAS,CAAC,kBAAkB,SAAI;IAChC,SAAS,CAAC,gBAAgB,SAAI;IAC9B,SAAS,CAAC,iBAAiB,SAAI;IAC/B,SAAS,CAAC,YAAY,SAAI;IAG1B,SAAS,CAAC,SAAS,SAAI;gBAGrB,MAAM,EAAE,OAAO,EACf,SAAS,GAAE,mBAAwB;IAOrC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IASvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC7C;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAkBtD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAoBvD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOtD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK9D;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,IAAI;CACzB"}
1
+ {"version":3,"file":"BasePrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/BasePrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,8BAAsB,cAAc,CAClC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAEnD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACxC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IAGtD,SAAS,CAAC,iBAAiB,SAAI;IAC/B,SAAS,CAAC,kBAAkB,SAAI;IAChC,SAAS,CAAC,gBAAgB,SAAI;IAC9B,SAAS,CAAC,iBAAiB,SAAI;IAC/B,SAAS,CAAC,YAAY,SAAI;IAG1B,SAAS,CAAC,SAAS,SAAI;gBAGrB,MAAM,EAAE,OAAO,EACf,SAAS,GAAE,mBAAwB;IAOrC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IASvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC7C;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAkBtD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAoBvD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOtD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK9D;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,IAAI;CACzB"}
@@ -4,7 +4,7 @@
4
4
  * 管理分片下载队列,支持 TS 和 fMP4 格式
5
5
  */
6
6
  import { BasePrefetcher } from './BasePrefetcher';
7
- import type { SegmentPrefetcherConfig, PrefetcherStatus, PrefetcherCallbacks, PrefetchQueueItem } from './types';
7
+ import type { SegmentPrefetcherConfig, PrefetcherStatus, PrefetcherCallbacks, PrefetchQueueItem, DownloadProgress } from './types';
8
8
  /**
9
9
  * 分片信息
10
10
  */
@@ -18,6 +18,8 @@ export interface SegmentInfo {
18
18
  start: number;
19
19
  end: number;
20
20
  };
21
+ /** 初始化段 URI(用于不连续性流) */
22
+ initSegmentUri?: string;
21
23
  }
22
24
  /**
23
25
  * 分片预取器状态
@@ -40,6 +42,8 @@ export interface SegmentPrefetcherCallbacks extends PrefetcherCallbacks {
40
42
  onSegmentFetched?: (segmentIndex: number, data: Uint8Array) => void;
41
43
  /** 分片解析完成回调 */
42
44
  onSegmentParsed?: (segmentIndex: number, itemCount: number) => void;
45
+ /** 下载进度回调 */
46
+ onDownloadProgress?: (progress: DownloadProgress) => void;
43
47
  }
44
48
  /**
45
49
  * 分片预取器
@@ -47,6 +51,7 @@ export interface SegmentPrefetcherCallbacks extends PrefetcherCallbacks {
47
51
  * 用于 HLS 流的分片预取,支持:
48
52
  * - TS 分片
49
53
  * - fMP4 分片(支持字节范围)
54
+ * - 并行下载多个分片
50
55
  */
51
56
  export declare abstract class SegmentPrefetcher extends BasePrefetcher<SegmentPrefetcherConfig, SegmentPrefetcherStatus> {
52
57
  /** 预取队列:存储已下载但尚未解析的分片 */
@@ -59,8 +64,10 @@ export declare abstract class SegmentPrefetcher extends BasePrefetcher<SegmentPr
59
64
  protected fetchedSegmentCount: number;
60
65
  /** 基础 URL(用于解析相对路径) */
61
66
  protected baseUrl: string;
62
- /** 正在预取标志 */
63
- protected isPrefetchingSegment: boolean;
67
+ /** 正在预取的分片数量(支持并行下载) */
68
+ protected activePrefetchCount: number;
69
+ /** 正在下载的分片索引集合 */
70
+ protected prefetchingIndexes: Set<number>;
64
71
  constructor(config: SegmentPrefetcherConfig, callbacks?: SegmentPrefetcherCallbacks);
65
72
  /**
66
73
  * 创建初始状态
@@ -83,15 +90,16 @@ export declare abstract class SegmentPrefetcher extends BasePrefetcher<SegmentPr
83
90
  */
84
91
  shouldPrefetch(): boolean;
85
92
  /**
86
- * 执行预取
93
+ * 执行预取(支持并行下载)
87
94
  */
88
95
  doPrefetch(): Promise<void>;
89
96
  /**
90
97
  * 处理预取队列中的数据
91
98
  *
99
+ * @param maxSegments 最多处理的分片数量(默认处理所有)
92
100
  * @returns 是否有数据被处理
93
101
  */
94
- processQueue(): boolean;
102
+ processQueue(maxSegments?: number): boolean;
95
103
  /**
96
104
  * 重置状态
97
105
  */
@@ -113,8 +121,9 @@ export declare abstract class SegmentPrefetcher extends BasePrefetcher<SegmentPr
113
121
  *
114
122
  * @param data 分片数据
115
123
  * @param index 分片索引
124
+ * @param segmentDuration 分片时长(秒)
116
125
  * @returns 解析出的项目数量
117
126
  */
118
- abstract parseSegment(data: Uint8Array, index: number): number;
127
+ abstract parseSegment(data: Uint8Array, index: number, segmentDuration?: number): number;
119
128
  }
120
129
  //# sourceMappingURL=SegmentPrefetcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/SegmentPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe;IACf,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,eAAe;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACnE,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACpE;AAED;;;;;;GAMG;AACH,8BAAsB,iBAAkB,SAAQ,cAAc,CAC5D,uBAAuB,EACvB,uBAAuB,CACxB;IACC,yBAAyB;IACzB,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAK;IAEjD,WAAW;IACX,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAEtC,aAAa;IACb,SAAS,CAAC,mBAAmB,SAAI;IAEjC,eAAe;IACf,SAAS,CAAC,mBAAmB,SAAI;IAEjC,uBAAuB;IACvB,SAAS,CAAC,OAAO,SAAK;IAEtB,aAAa;IACb,SAAS,CAAC,oBAAoB,UAAQ;gBAGpC,MAAM,EAAE,uBAAuB,EAC/B,SAAS,GAAE,0BAA+B;IAK5C;;OAEG;cACgB,kBAAkB,IAAI,uBAAuB;IAUhE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAgBlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD1C;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAoCvB;;OAEG;IACM,OAAO,IAAI,IAAI;IAQxB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAM1B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAE/E;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAC/D"}
1
+ {"version":3,"file":"SegmentPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/SegmentPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe;IACf,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,eAAe;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACnE,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,aAAa;IACb,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC1D;AAED;;;;;;;GAOG;AACH,8BAAsB,iBAAkB,SAAQ,cAAc,CAC5D,uBAAuB,EACvB,uBAAuB,CACxB;IACC,yBAAyB;IACzB,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAK;IAEjD,WAAW;IACX,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAEtC,aAAa;IACb,SAAS,CAAC,mBAAmB,SAAI;IAEjC,eAAe;IACf,SAAS,CAAC,mBAAmB,SAAI;IAEjC,uBAAuB;IACvB,SAAS,CAAC,OAAO,SAAK;IAEtB,wBAAwB;IACxB,SAAS,CAAC,mBAAmB,SAAI;IAEjC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,cAAoB;gBAG9C,MAAM,EAAE,uBAAuB,EAC/B,SAAS,GAAE,0BAA+B;IAK5C;;OAEG;cACgB,kBAAkB,IAAI,uBAAuB;IAUhE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAoBlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2E1C;;;;;OAKG;IACH,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IA2C3C;;OAEG;IACM,OAAO,IAAI,IAAI;IASxB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAM1B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAE/E;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;CACzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"StreamPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/StreamPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,aAAa;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc;IACd,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,aAAa;IACb,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,cAAc;IACd,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,8BAAsB,gBAAiB,SAAQ,cAAc,CAC3D,sBAAsB,EACtB,sBAAsB,CACvB;IACC,YAAY;IACZ,SAAS,CAAC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAO;IAElD,gBAAgB;IAChB,SAAS,CAAC,YAAY,SAAI;IAE1B,WAAW;IACX,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,GAAG,IAAI,CAAO;IAEvE,aAAa;IACb,SAAS,CAAC,gBAAgB,UAAQ;IAElC,iBAAiB;IACjB,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IAEtD,aAAa;IACb,SAAS,CAAC,oBAAoB,SAAI;gBAGhC,MAAM,EAAE,sBAAsB,EAC9B,SAAS,GAAE,yBAA8B;IAK3C;;OAEG;cACgB,kBAAkB,IAAI,sBAAsB;IAS/D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI;IA+B1F;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAyB9C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAWlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1C;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAoBxB;;OAEG;IACH,aAAa,IAAI,kBAAkB;IAQnC;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAOlC;;OAEG;IACM,OAAO,IAAI,IAAI;IASxB;;OAEG;IACH,cAAc,IAAI,IAAI;IAUtB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAM7B;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG;QAC5C,aAAa;QACb,UAAU,EAAE,OAAO,CAAA;QACnB,cAAc;QACd,cAAc,EAAE,MAAM,CAAA;KACvB;CACF"}
1
+ {"version":3,"file":"StreamPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/StreamPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,aAAa;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc;IACd,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,aAAa;IACb,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,cAAc;IACd,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,8BAAsB,gBAAiB,SAAQ,cAAc,CAC3D,sBAAsB,EACtB,sBAAsB,CACvB;IACC,YAAY;IACZ,SAAS,CAAC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAO;IAElD,gBAAgB;IAChB,SAAS,CAAC,YAAY,SAAI;IAE1B,WAAW;IACX,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,GAAG,IAAI,CAAO;IAEvE,aAAa;IACb,SAAS,CAAC,gBAAgB,UAAQ;IAElC,iBAAiB;IACjB,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IAEtD,aAAa;IACb,SAAS,CAAC,oBAAoB,SAAI;gBAGhC,MAAM,EAAE,sBAAsB,EAC9B,SAAS,GAAE,yBAA8B;IAK3C;;OAEG;cACgB,kBAAkB,IAAI,sBAAsB;IAS/D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI;IA+B1F;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAyB9C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAWlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD1C;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAoBxB;;OAEG;IACH,aAAa,IAAI,kBAAkB;IAQnC;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAOlC;;OAEG;IACM,OAAO,IAAI,IAAI;IASxB;;OAEG;IACH,cAAc,IAAI,IAAI;IAUtB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAM7B;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG;QAC5C,aAAa;QACb,UAAU,EAAE,OAAO,CAAA;QACnB,cAAc;QACd,cAAc,EAAE,MAAM,CAAA;KACvB;CACF"}
@@ -8,6 +8,6 @@ export { SegmentPrefetcher } from './SegmentPrefetcher';
8
8
  export type { SegmentInfo, SegmentPrefetcherStatus, SegmentPrefetcherCallbacks } from './SegmentPrefetcher';
9
9
  export { StreamPrefetcher } from './StreamPrefetcher';
10
10
  export type { StreamPrefetcherStatus, StreamPrefetcherCallbacks } from './StreamPrefetcher';
11
- export type { PrefetcherConfig, PrefetcherStatus, PrefetcherCallbacks, SegmentPrefetcherConfig, StreamPrefetcherConfig, PrefetchQueueItem, DownloadBufferInfo } from './types';
11
+ export type { PrefetcherConfig, PrefetcherStatus, PrefetcherCallbacks, DownloadProgress, SegmentPrefetcherConfig, StreamPrefetcherConfig, PrefetchQueueItem, DownloadBufferInfo } from './types';
12
12
  export { DEFAULT_PREFETCHER_CONFIG, DEFAULT_SEGMENT_PREFETCHER_CONFIG, DEFAULT_STREAM_PREFETCHER_CONFIG } from './types';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prefetch/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,gCAAgC,EACjC,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prefetch/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,gCAAgC,EACjC,MAAM,SAAS,CAAA"}
@@ -31,6 +31,19 @@ export interface PrefetcherStatus {
31
31
  /** 预取错误信息 */
32
32
  lastError?: string;
33
33
  }
34
+ /**
35
+ * 下载进度信息
36
+ */
37
+ export interface DownloadProgress {
38
+ /** 当前下载的分片索引 */
39
+ segmentIndex: number;
40
+ /** 已下载字节 */
41
+ loaded: number;
42
+ /** 总字节数(如果服务器提供 Content-Length) */
43
+ total?: number;
44
+ /** 下载速度 (bytes/s) */
45
+ speed?: number;
46
+ }
34
47
  /**
35
48
  * 预取器回调
36
49
  */
@@ -52,6 +65,8 @@ export declare const DEFAULT_PREFETCHER_CONFIG: PrefetcherConfig;
52
65
  export interface SegmentPrefetcherConfig extends PrefetcherConfig {
53
66
  /** 提前预取的分片数量 */
54
67
  prefetchAhead: number;
68
+ /** 最大并行下载数 */
69
+ maxConcurrentPrefetch: number;
55
70
  }
56
71
  /**
57
72
  * 默认分片预取器配置
@@ -78,6 +93,8 @@ export interface PrefetchQueueItem {
78
93
  segmentIndex: number;
79
94
  /** 获取时间 */
80
95
  fetchTime: number;
96
+ /** 分片时长(秒) */
97
+ segmentDuration?: number;
81
98
  }
82
99
  /**
83
100
  * 下载缓冲区信息(流式模式)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prefetch/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB;IACjB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,aAAa;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa;IACb,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACnD,aAAa;IACb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,WAAW;IACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAKvC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,uBAG/C,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,cAAc;IACd,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,sBAK9C,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU;IACV,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACzB,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prefetch/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB;IACjB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,aAAa;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa;IACb,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACnD,aAAa;IACb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,WAAW;IACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAKvC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc;IACd,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,uBAI/C,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,cAAc;IACd,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,sBAK9C,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU;IACV,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACzB,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB"}
@@ -9,6 +9,10 @@ export declare class Canvas2DRenderer {
9
9
  private lastFpsUpdate;
10
10
  private lastFps;
11
11
  constructor(canvas: HTMLCanvasElement);
12
+ /**
13
+ * 清除 canvas 内容
14
+ */
15
+ clear(): void;
12
16
  render(frame: VideoFrame): void;
13
17
  updateFps(): number;
14
18
  getCanvas(): HTMLCanvasElement;
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas2DRenderer.d.ts","sourceRoot":"","sources":["../../src/renderer/Canvas2DRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,GAAG,CAAwC;IACnD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,OAAO,CAAI;gBAEP,MAAM,EAAE,iBAAiB;IAQrC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAY/B,SAAS,IAAI,MAAM;IAWnB,SAAS,IAAI,iBAAiB;CAG/B"}
1
+ {"version":3,"file":"Canvas2DRenderer.d.ts","sourceRoot":"","sources":["../../src/renderer/Canvas2DRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,GAAG,CAAwC;IACnD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,OAAO,CAAI;gBAEP,MAAM,EAAE,iBAAiB;IAUrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAY/B,SAAS,IAAI,MAAM;IAWnB,SAAS,IAAI,iBAAiB;CAG/B"}
@@ -5,6 +5,9 @@ export interface VideoFrame {
5
5
  width: number;
6
6
  height: number;
7
7
  data: Uint8Array;
8
+ pts?: number;
9
+ dts?: number;
10
+ duration?: number;
8
11
  }
9
12
  export interface NALUnit {
10
13
  type: number;
@@ -27,6 +30,8 @@ export interface PlayerState {
27
30
  isPlaying: boolean;
28
31
  isLoaded: boolean;
29
32
  isLoading: boolean;
33
+ isBuffering: boolean;
34
+ bufferingProgress?: number;
30
35
  fps: number;
31
36
  resolution: string;
32
37
  decoded: number;
@@ -39,14 +44,28 @@ export interface PlayerState {
39
44
  downloadSpeed: number;
40
45
  currentTime: number;
41
46
  duration: number;
47
+ playbackRate: number;
48
+ loadingStage?: LoadingStage;
49
+ }
50
+ export type LoadingStage = 'connecting' | 'detected' | 'downloading' | 'loading' | 'loading-wasm' | 'initializing' | 'buffering' | 'ready';
51
+ export interface LoadingStageInfo {
52
+ stage: LoadingStage;
53
+ detail?: string;
42
54
  }
43
55
  export interface PlayerCallbacks {
44
56
  onFrameRender?: (frame: VideoFrame) => void;
45
57
  onStateChange?: (state: Partial<PlayerState>) => void;
46
58
  onError?: (error: Error) => void;
59
+ /** 第一帧已准备好可以渲染时触发 */
60
+ onReady?: () => void;
61
+ /** 倍速变化时触发 */
62
+ onPlaybackRateChange?: (rate: number) => void;
63
+ /** 加载阶段变化时触发 */
64
+ onLoadingStageChange?: (info: LoadingStageInfo) => void;
47
65
  }
48
66
  export interface WASMModule {
49
67
  _create_decoder(codecId: number): number;
68
+ _destroy_decoder?(ctx: number): void;
50
69
  _decode_video(ctx: number, data: number, size: number): number;
51
70
  _set_extradata(ctx: number, data: number, size: number): number;
52
71
  _get_frame_data(ctx: number, plane: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAGD,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IAErB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAEhB,YAAY,EAAE,MAAM,CAAA;IAEpB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAGD,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,UAAU,GACV,aAAa,GACb,SAAS,GACT,cAAc,GACd,cAAc,GACd,WAAW,GACX,OAAO,CAAA;AAGX,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAGD,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,cAAc;IACd,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB;IAChB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACxD;AAGD,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxC,gBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9D,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/D,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACnD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACtC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACvD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,UAAU,CAAA;CACnB;AAGD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA;AAG9D,eAAO,MAAM,aAAa;;;;CAIhB,CAAA;AAGV,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAGV,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;CACjB;AAGD,MAAM,WAAW,YAAY;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAGD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mCAAmC,EAAE,MAAM,CAAA;IAC3C,kCAAkC,EAAE,MAAM,CAAA;IAC1C,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAGD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,UAAU,EAAE,aAAa,GAAG,IAAI,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@give-tech/ec-player",
3
- "version": "0.0.1-beta.5",
3
+ "version": "0.0.1-beta.50",
4
4
  "description": "EcPlayer Core - HLS/FLV Streaming Video Player with WASM Decoder",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",