pr-player 0.1.0 → 0.1.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.
@@ -0,0 +1,28 @@
1
+ interface PrFetchOption {
2
+ timeout?: number;
3
+ check?: boolean;
4
+ }
5
+ export declare class PrFetch {
6
+ #private;
7
+ constructor(option?: PrFetchOption);
8
+ /**
9
+ *
10
+ * @param input string | URL | Request
11
+ * @param init RequestInit
12
+ */
13
+ check: (input: string | URL | Request, init?: RequestInit) => Promise<{
14
+ status: "successed" | "failed" | "error" | "timeout";
15
+ reason: string;
16
+ }>;
17
+ /**
18
+ *
19
+ * @param input string | URL | Request
20
+ * @param init RequestInit
21
+ */
22
+ request: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
23
+ /**
24
+ * stop
25
+ */
26
+ stop: () => void;
27
+ }
28
+ export {};
@@ -1,11 +1,10 @@
1
1
  import { RenderWorker } from './render/RenderWorker';
2
- import { ScriptTag, AudioTag, VideoTag } from './demuxer/type';
3
2
  import { Shader } from './render/type';
4
3
  interface On {
5
4
  demuxer: {
6
- script?: (_tag: ScriptTag) => void;
7
- audio?: (_tag: AudioTag) => void;
8
- video?: (_tag: VideoTag) => void;
5
+ info?: (_info: any) => void;
6
+ config?: (_config: any) => void;
7
+ chunk?: (_chunk: any) => void;
9
8
  sei?: (_payload: Uint8Array) => void;
10
9
  };
11
10
  decoder: {
@@ -19,6 +18,8 @@ interface On {
19
18
  }
20
19
  export declare class PrPlayer {
21
20
  private prFetch;
21
+ private prResolves;
22
+ private url;
22
23
  private demuxerWorker;
23
24
  private decoderWorker;
24
25
  private audioPlayer;
@@ -43,22 +44,6 @@ export declare class PrPlayer {
43
44
  * 停止
44
45
  */
45
46
  stop: () => Promise<void>;
46
- /**
47
- * 监听媒体 tag
48
- */
49
- private onTag;
50
- /**
51
- * 初始化分离器
52
- */
53
- private initDemuxer;
54
- /**
55
- * 初始化解码器
56
- */
57
- private initDecoder;
58
- /**
59
- * 初始化渲染器
60
- */
61
- private initRender;
62
47
  getCanvas: () => HTMLCanvasElement | undefined;
63
48
  getStream: () => MediaStream | undefined;
64
49
  setPause: (pause: boolean) => void;
@@ -71,6 +56,10 @@ export declare class PrPlayer {
71
56
  * @param state?: boolean
72
57
  */
73
58
  setMute: (state?: boolean) => void | undefined;
59
+ /**
60
+ * 是否已准备好
61
+ */
62
+ isReady: () => Promise<unknown>;
74
63
  cut: {
75
64
  /**
76
65
  * 创建剪切
@@ -98,5 +87,19 @@ export declare class PrPlayer {
98
87
  */
99
88
  remove: (key: string) => void;
100
89
  };
90
+ /**
91
+ * 初始化解复器
92
+ */
93
+ private initDemuxer;
94
+ /**
95
+ * 初始化解码器
96
+ */
97
+ private initDecoder;
98
+ /**
99
+ * 初始化渲染器
100
+ */
101
+ private initRender;
102
+ private flv;
103
+ private hls;
101
104
  }
102
105
  export {};
@@ -0,0 +1,19 @@
1
+ type ResolveInfo = Map<string, {
2
+ resolve: Function;
3
+ timer: number;
4
+ }>;
5
+ export declare class PrResolves {
6
+ resolvesMap: Map<string, ResolveInfo>;
7
+ index: number;
8
+ constructor();
9
+ /**
10
+ *
11
+ * @param eventKey 唯一key
12
+ * @param checkFun 检测函数
13
+ * @param timeout 超时时间 ms
14
+ * @returns
15
+ */
16
+ add: (eventKey: string, checkFun?: Function, timeout?: number) => Promise<unknown>;
17
+ emit: (eventKey: string) => Promise<void>;
18
+ }
19
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface Chunk {
2
+ kind: 'audio' | 'video';
3
+ type: 'key' | 'delta';
4
+ cts: number | undefined;
5
+ dts: number;
6
+ pts: number | undefined;
7
+ data: Uint8Array;
8
+ nalus?: Uint8Array[];
9
+ }
10
+ export declare class Cacher {
11
+ private pendingPayloads;
12
+ private payload;
13
+ private chunks;
14
+ push: (payload: Uint8Array) => void;
15
+ next: (offset?: number) => false | DataView<ArrayBuffer>;
16
+ pushChunk: (chunk: any) => void;
17
+ destroy: () => void;
18
+ }
@@ -1,9 +1,9 @@
1
1
  import { On } from './type';
2
2
  export declare class Decoder {
3
- private audioDecoderConfig;
4
- private audioDecoder;
5
- private videoDecoderConfig;
6
- private videoDecoder;
3
+ private audioDecoderConfig?;
4
+ private audioDecoder?;
5
+ private videoDecoderConfig?;
6
+ private videoDecoder?;
7
7
  private hasKeyFrame;
8
8
  on: On;
9
9
  constructor();
@@ -0,0 +1,26 @@
1
+ export declare const createAVCC: (sps: Uint8Array, pps: Uint8Array) => Uint8Array<ArrayBuffer>;
2
+ export declare const naluToAVCC: (nalu: Uint8Array) => Uint8Array;
3
+ export declare const nalusToAVCC: (nalus: Uint8Array[]) => Uint8Array;
4
+ export declare const parseAVCC: (avcc: Uint8Array) => {
5
+ version: number;
6
+ codec: string;
7
+ profile: number;
8
+ compatibility: number;
9
+ level: number;
10
+ lengthSizeMinusOne: number;
11
+ numOfSequenceParameterSets: number;
12
+ sequenceParameterSetLength: number;
13
+ sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
14
+ numOfPictureParameterSets: number;
15
+ pictureParameterSetLength: number;
16
+ pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
17
+ };
18
+ export declare const parseNalu: (nalu: Uint8Array) => {
19
+ size: number;
20
+ header: {
21
+ forbidden_zero_bit: number;
22
+ nal_ref_idc: number;
23
+ nal_unit_type: number;
24
+ };
25
+ data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
26
+ };
@@ -1,18 +1,35 @@
1
- import { On } from './type';
1
+ import { Cacher, Chunk } from '../cacher/Cacher';
2
+ export type Pattern = 'hls' | 'dash' | 'rtmp' | 'flv';
3
+ export interface AudioConfig {
4
+ kind: 'audio';
5
+ codec: string;
6
+ sampleRate: number;
7
+ numberOfChannels: number;
8
+ }
9
+ export interface VideoConfig {
10
+ kind: 'video';
11
+ codec: string;
12
+ sps: Uint8Array;
13
+ pps: Uint8Array;
14
+ description: Uint8Array;
15
+ }
16
+ export interface On {
17
+ debug?: (_debug: unknown) => void;
18
+ info?: (_info: any) => void;
19
+ config?: (_config: AudioConfig | VideoConfig) => void;
20
+ chunk?: (_chunk: Chunk) => void;
21
+ sei?: (_sei: Uint8Array[]) => void;
22
+ }
2
23
  export declare class Demuxer {
3
- private parseSpeed;
4
- private pendingPayloads;
5
- private payload;
24
+ private pattern;
25
+ cacher: Cacher;
26
+ private isParseing;
6
27
  private offset;
7
- private is_parsing;
8
- private header;
9
- private tag;
10
28
  on: On;
29
+ private parser;
11
30
  constructor();
12
- init: () => void;
31
+ init: (pattern: Pattern) => void;
13
32
  push: (payload: Uint8Array) => void;
14
33
  destroy: () => void;
15
34
  private parse;
16
- private parseHeader;
17
- private parseTag;
18
35
  }
@@ -1,9 +1,9 @@
1
- import { On } from './type';
1
+ import { On, Pattern } from './Demuxer';
2
2
  export declare class DemuxerWorker {
3
3
  worker: Worker;
4
4
  on: On;
5
5
  constructor();
6
- init: () => void;
6
+ init: (pattern: Pattern) => void;
7
7
  push: (payload: Uint8Array) => void;
8
8
  destroy: () => void;
9
9
  }
@@ -1,419 +1,27 @@
1
- import { Nalu } from './type';
2
- export declare const isNalStart: (view: DataView, offset: number) => 0 | 4 | 3;
3
- export declare const getNaluHeader: (view: DataView, offset: number) => {
4
- forbidden_zero_bit: number;
5
- nal_ref_idc: number;
6
- nal_unit_type: number;
7
- };
8
- export declare const getAmfType: (view: DataView, offset: number) => number;
9
- export declare const getAMFName: (view: DataView, offset: number, size: number) => string;
10
- export declare const getAMFValueSize: (view: DataView, offset: number, amfType: number) => number;
11
- export declare const getAMFValue: (view: DataView, offset: number, amfType: number) => {
12
- amfType: number;
13
- length: number;
14
- value: any;
15
- };
16
- export declare const getSignature: (view: DataView) => string;
17
- export declare const getVersion: (view: DataView) => number;
18
- export declare const getFlags: (view: DataView) => {
19
- audio: boolean;
20
- video: boolean;
21
- };
22
- export declare const getDataOffset: (view: DataView) => number;
23
- export declare const header: {
24
- getSignature: (view: DataView) => string;
25
- getVersion: (view: DataView) => number;
26
- getFlags: (view: DataView) => {
27
- audio: boolean;
28
- video: boolean;
29
- };
30
- getDataOffset: (view: DataView) => number;
31
- };
32
- export declare const isSurplusTag: (view: DataView, offset: number) => boolean;
33
- export declare const getPreviousTagSize: (view: DataView, offset: number) => number;
34
- export declare const getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
35
- export declare const getDataSize: (view: DataView, offset: number) => number;
36
- export declare const getTimestamp: (view: DataView, offset: number) => number;
37
- export declare const getTimestampExtended: (view: DataView, offset: number) => number;
38
- export declare const getStreamID: (view: DataView, offset: number) => number;
39
- export declare const parseMetaData: (view: DataView, offset: number) => any;
40
- export declare const parseAudio: (view: DataView, offset: number, dataSize: number) => {
41
- soundFormat: number;
42
- soundRate: number;
43
- soundSize: number;
44
- soundType: number;
45
- accPacketType: number;
46
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
47
- audioObjectType: number;
48
- samplingFrequencyIndex: number;
49
- channelConfiguration: number;
50
- codec: string;
51
- sampleRate: number;
52
- } | {
53
- soundFormat: number;
54
- soundRate: number;
55
- soundSize: number;
56
- soundType: number;
57
- accPacketType: number;
58
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
59
- audioObjectType?: undefined;
60
- samplingFrequencyIndex?: undefined;
61
- channelConfiguration?: undefined;
62
- codec?: undefined;
63
- sampleRate?: undefined;
64
- };
65
- export declare const parseVideo: (view: DataView, offset: number, dataSize: number) => {
66
- frameType: number;
67
- codecID: 7;
68
- avcPacketType: number;
69
- cts: number;
70
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
71
- version: number;
72
- codec: string;
73
- profile: number;
74
- compatibility: number;
75
- level: number;
76
- lengthSizeMinusOne: number;
77
- numOfSequenceParameterSets: number;
78
- sequenceParameterSetLength: number;
79
- sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
80
- numOfPictureParameterSets: number;
81
- pictureParameterSetLength: number;
82
- pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
83
- nalus?: undefined;
84
- } | {
85
- frameType: number;
86
- codecID: 7;
87
- avcPacketType: number;
88
- cts: number;
89
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
90
- nalus: Nalu[];
91
- version?: undefined;
92
- codec?: undefined;
93
- profile?: undefined;
94
- compatibility?: undefined;
95
- level?: undefined;
96
- lengthSizeMinusOne?: undefined;
97
- numOfSequenceParameterSets?: undefined;
98
- sequenceParameterSetLength?: undefined;
99
- sps?: undefined;
100
- numOfPictureParameterSets?: undefined;
101
- pictureParameterSetLength?: undefined;
102
- pps?: undefined;
103
- } | {
104
- frameType: number;
105
- codecID: 7;
106
- avcPacketType: number;
107
- cts: number;
108
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
109
- version?: undefined;
110
- codec?: undefined;
111
- profile?: undefined;
112
- compatibility?: undefined;
113
- level?: undefined;
114
- lengthSizeMinusOne?: undefined;
115
- numOfSequenceParameterSets?: undefined;
116
- sequenceParameterSetLength?: undefined;
117
- sps?: undefined;
118
- numOfPictureParameterSets?: undefined;
119
- pictureParameterSetLength?: undefined;
120
- pps?: undefined;
121
- nalus?: undefined;
122
- };
123
- export declare const tagHeader: {
124
- getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
125
- getDataSize: (view: DataView, offset: number) => number;
126
- getTimestamp: (view: DataView, offset: number) => number;
127
- getTimestampExtended: (view: DataView, offset: number) => number;
128
- getStreamID: (view: DataView, offset: number) => number;
129
- };
130
- export declare const tagBody: {
131
- parseAudio: (view: DataView, offset: number, dataSize: number) => {
132
- soundFormat: number;
133
- soundRate: number;
134
- soundSize: number;
135
- soundType: number;
136
- accPacketType: number;
137
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
138
- audioObjectType: number;
139
- samplingFrequencyIndex: number;
140
- channelConfiguration: number;
141
- codec: string;
142
- sampleRate: number;
143
- } | {
144
- soundFormat: number;
145
- soundRate: number;
146
- soundSize: number;
147
- soundType: number;
148
- accPacketType: number;
149
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
150
- audioObjectType?: undefined;
151
- samplingFrequencyIndex?: undefined;
152
- channelConfiguration?: undefined;
153
- codec?: undefined;
154
- sampleRate?: undefined;
155
- };
156
- parseVideo: (view: DataView, offset: number, dataSize: number) => {
157
- frameType: number;
158
- codecID: 7;
159
- avcPacketType: number;
160
- cts: number;
161
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
162
- version: number;
163
- codec: string;
164
- profile: number;
165
- compatibility: number;
166
- level: number;
167
- lengthSizeMinusOne: number;
168
- numOfSequenceParameterSets: number;
169
- sequenceParameterSetLength: number;
170
- sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
171
- numOfPictureParameterSets: number;
172
- pictureParameterSetLength: number;
173
- pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
174
- nalus?: undefined;
175
- } | {
176
- frameType: number;
177
- codecID: 7;
178
- avcPacketType: number;
179
- cts: number;
180
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
181
- nalus: Nalu[];
182
- version?: undefined;
183
- codec?: undefined;
184
- profile?: undefined;
185
- compatibility?: undefined;
186
- level?: undefined;
187
- lengthSizeMinusOne?: undefined;
188
- numOfSequenceParameterSets?: undefined;
189
- sequenceParameterSetLength?: undefined;
190
- sps?: undefined;
191
- numOfPictureParameterSets?: undefined;
192
- pictureParameterSetLength?: undefined;
193
- pps?: undefined;
194
- } | {
195
- frameType: number;
196
- codecID: 7;
197
- avcPacketType: number;
198
- cts: number;
199
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
200
- version?: undefined;
201
- codec?: undefined;
202
- profile?: undefined;
203
- compatibility?: undefined;
204
- level?: undefined;
205
- lengthSizeMinusOne?: undefined;
206
- numOfSequenceParameterSets?: undefined;
207
- sequenceParameterSetLength?: undefined;
208
- sps?: undefined;
209
- numOfPictureParameterSets?: undefined;
210
- pictureParameterSetLength?: undefined;
211
- pps?: undefined;
212
- nalus?: undefined;
213
- };
214
- parseMetaData: (view: DataView, offset: number) => any;
215
- };
216
- export declare const tag: {
217
- tagHeader: {
218
- getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
219
- getDataSize: (view: DataView, offset: number) => number;
220
- getTimestamp: (view: DataView, offset: number) => number;
221
- getTimestampExtended: (view: DataView, offset: number) => number;
222
- getStreamID: (view: DataView, offset: number) => number;
223
- };
224
- tagBody: {
225
- parseAudio: (view: DataView, offset: number, dataSize: number) => {
226
- soundFormat: number;
227
- soundRate: number;
228
- soundSize: number;
229
- soundType: number;
230
- accPacketType: number;
231
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
232
- audioObjectType: number;
233
- samplingFrequencyIndex: number;
234
- channelConfiguration: number;
235
- codec: string;
236
- sampleRate: number;
237
- } | {
238
- soundFormat: number;
239
- soundRate: number;
240
- soundSize: number;
241
- soundType: number;
242
- accPacketType: number;
243
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
244
- audioObjectType?: undefined;
245
- samplingFrequencyIndex?: undefined;
246
- channelConfiguration?: undefined;
247
- codec?: undefined;
248
- sampleRate?: undefined;
249
- };
250
- parseVideo: (view: DataView, offset: number, dataSize: number) => {
251
- frameType: number;
252
- codecID: 7;
253
- avcPacketType: number;
254
- cts: number;
255
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
256
- version: number;
257
- codec: string;
258
- profile: number;
259
- compatibility: number;
260
- level: number;
261
- lengthSizeMinusOne: number;
262
- numOfSequenceParameterSets: number;
263
- sequenceParameterSetLength: number;
264
- sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
265
- numOfPictureParameterSets: number;
266
- pictureParameterSetLength: number;
267
- pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
268
- nalus?: undefined;
269
- } | {
270
- frameType: number;
271
- codecID: 7;
272
- avcPacketType: number;
273
- cts: number;
274
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
275
- nalus: Nalu[];
276
- version?: undefined;
277
- codec?: undefined;
278
- profile?: undefined;
279
- compatibility?: undefined;
280
- level?: undefined;
281
- lengthSizeMinusOne?: undefined;
282
- numOfSequenceParameterSets?: undefined;
283
- sequenceParameterSetLength?: undefined;
284
- sps?: undefined;
285
- numOfPictureParameterSets?: undefined;
286
- pictureParameterSetLength?: undefined;
287
- pps?: undefined;
288
- } | {
289
- frameType: number;
290
- codecID: 7;
291
- avcPacketType: number;
292
- cts: number;
293
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
294
- version?: undefined;
295
- codec?: undefined;
296
- profile?: undefined;
297
- compatibility?: undefined;
298
- level?: undefined;
299
- lengthSizeMinusOne?: undefined;
300
- numOfSequenceParameterSets?: undefined;
301
- sequenceParameterSetLength?: undefined;
302
- sps?: undefined;
303
- numOfPictureParameterSets?: undefined;
304
- pictureParameterSetLength?: undefined;
305
- pps?: undefined;
306
- nalus?: undefined;
307
- };
308
- parseMetaData: (view: DataView, offset: number) => any;
309
- };
310
- };
311
- declare const _default: {
312
- header: {
313
- getSignature: (view: DataView) => string;
314
- getVersion: (view: DataView) => number;
315
- getFlags: (view: DataView) => {
316
- audio: boolean;
317
- video: boolean;
318
- };
319
- getDataOffset: (view: DataView) => number;
320
- };
321
- getPreviousTagSize: (view: DataView, offset: number) => number;
322
- isSurplusTag: (view: DataView, offset: number) => boolean;
323
- tag: {
324
- tagHeader: {
325
- getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
326
- getDataSize: (view: DataView, offset: number) => number;
327
- getTimestamp: (view: DataView, offset: number) => number;
328
- getTimestampExtended: (view: DataView, offset: number) => number;
329
- getStreamID: (view: DataView, offset: number) => number;
330
- };
331
- tagBody: {
332
- parseAudio: (view: DataView, offset: number, dataSize: number) => {
333
- soundFormat: number;
334
- soundRate: number;
335
- soundSize: number;
336
- soundType: number;
337
- accPacketType: number;
338
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
339
- audioObjectType: number;
340
- samplingFrequencyIndex: number;
341
- channelConfiguration: number;
342
- codec: string;
343
- sampleRate: number;
344
- } | {
345
- soundFormat: number;
346
- soundRate: number;
347
- soundSize: number;
348
- soundType: number;
349
- accPacketType: number;
350
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
351
- audioObjectType?: undefined;
352
- samplingFrequencyIndex?: undefined;
353
- channelConfiguration?: undefined;
354
- codec?: undefined;
355
- sampleRate?: undefined;
356
- };
357
- parseVideo: (view: DataView, offset: number, dataSize: number) => {
358
- frameType: number;
359
- codecID: 7;
360
- avcPacketType: number;
361
- cts: number;
362
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
363
- version: number;
364
- codec: string;
365
- profile: number;
366
- compatibility: number;
367
- level: number;
368
- lengthSizeMinusOne: number;
369
- numOfSequenceParameterSets: number;
370
- sequenceParameterSetLength: number;
371
- sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
372
- numOfPictureParameterSets: number;
373
- pictureParameterSetLength: number;
374
- pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
375
- nalus?: undefined;
376
- } | {
377
- frameType: number;
378
- codecID: 7;
379
- avcPacketType: number;
380
- cts: number;
381
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
382
- nalus: Nalu[];
383
- version?: undefined;
384
- codec?: undefined;
385
- profile?: undefined;
386
- compatibility?: undefined;
387
- level?: undefined;
388
- lengthSizeMinusOne?: undefined;
389
- numOfSequenceParameterSets?: undefined;
390
- sequenceParameterSetLength?: undefined;
391
- sps?: undefined;
392
- numOfPictureParameterSets?: undefined;
393
- pictureParameterSetLength?: undefined;
394
- pps?: undefined;
395
- } | {
396
- frameType: number;
397
- codecID: 7;
398
- avcPacketType: number;
399
- cts: number;
400
- data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
401
- version?: undefined;
402
- codec?: undefined;
403
- profile?: undefined;
404
- compatibility?: undefined;
405
- level?: undefined;
406
- lengthSizeMinusOne?: undefined;
407
- numOfSequenceParameterSets?: undefined;
408
- sequenceParameterSetLength?: undefined;
409
- sps?: undefined;
410
- numOfPictureParameterSets?: undefined;
411
- pictureParameterSetLength?: undefined;
412
- pps?: undefined;
413
- nalus?: undefined;
414
- };
415
- parseMetaData: (view: DataView, offset: number) => any;
416
- };
417
- };
418
- };
419
- export default _default;
1
+ import { Chunk } from '../cacher/Cacher';
2
+ import { AudioConfig, VideoConfig } from './Demuxer';
3
+ export interface On {
4
+ debug?: (_debug: any) => void;
5
+ info?: (_info: any) => void;
6
+ config?: (_config: AudioConfig | VideoConfig) => void;
7
+ chunk?: (_chunk: Chunk) => void;
8
+ }
9
+ export declare class ParseFLV {
10
+ audioConfig?: AudioConfig;
11
+ videoConfig?: VideoConfig;
12
+ header?: any;
13
+ textDecoder: TextDecoder;
14
+ on: On;
15
+ constructor();
16
+ parse: (view: DataView) => Promise<number>;
17
+ private parseHeader;
18
+ private isSurplusTag;
19
+ private parseTagHeader;
20
+ private parseTagBody;
21
+ private parseMetaData;
22
+ private parseAudio;
23
+ private parseVideo;
24
+ private getAmfType;
25
+ private getAMFName;
26
+ private getAMFValue;
27
+ }