@ylink-sdk/mobile-web 0.1.9-beta.1 → 0.1.9-beta.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.
Files changed (53) hide show
  1. package/package.json +1 -1
  2. package/dist/e30037b8/VERSION +0 -6
  3. package/dist/e30037b8/libipvp-simd.d.ts +0 -474
  4. package/dist/e30037b8/libipvp-simd.js +0 -3267
  5. package/dist/e30037b8/libipvp-simd.prod.d.ts +0 -474
  6. package/dist/e30037b8/libipvp-simd.prod.js +0 -184
  7. package/dist/e30037b8/libipvp-simd.prod.wasm +0 -0
  8. package/dist/e30037b8/libipvp-simd.wasm +0 -0
  9. package/dist/e30037b8/libipvp.d.ts +0 -474
  10. package/dist/e30037b8/libipvp.js +0 -3267
  11. package/dist/e30037b8/libipvp.prod.d.ts +0 -474
  12. package/dist/e30037b8/libipvp.prod.js +0 -184
  13. package/dist/e30037b8/libipvp.prod.wasm +0 -0
  14. package/dist/e30037b8/libipvp.wasm +0 -0
  15. package/dist/e30037b8/librtc.d.ts +0 -438
  16. package/dist/e30037b8/librtc.global.js +0 -5863
  17. package/dist/e30037b8/librtc.global.prod.js +0 -15
  18. package/dist/e30037b8/libsfu-simd.d.ts +0 -767
  19. package/dist/e30037b8/libsfu-simd.js +0 -4822
  20. package/dist/e30037b8/libsfu-simd.prod.d.ts +0 -767
  21. package/dist/e30037b8/libsfu-simd.prod.js +0 -209
  22. package/dist/e30037b8/libsfu-simd.prod.wasm +0 -0
  23. package/dist/e30037b8/libsfu-simd.wasm +0 -0
  24. package/dist/e30037b8/libsfu.d.ts +0 -767
  25. package/dist/e30037b8/libsfu.js +0 -4822
  26. package/dist/e30037b8/libsfu.prod.d.ts +0 -767
  27. package/dist/e30037b8/libsfu.prod.js +0 -209
  28. package/dist/e30037b8/libsfu.prod.wasm +0 -0
  29. package/dist/e30037b8/libsfu.wasm +0 -0
  30. package/dist/e30037b8/libsvc-simd-m1.d.ts +0 -767
  31. package/dist/e30037b8/libsvc-simd-m1.js +0 -4921
  32. package/dist/e30037b8/libsvc-simd-m1.prod.d.ts +0 -767
  33. package/dist/e30037b8/libsvc-simd-m1.prod.js +0 -209
  34. package/dist/e30037b8/libsvc-simd-m1.prod.wasm +0 -0
  35. package/dist/e30037b8/libsvc-simd-m1.wasm +0 -0
  36. package/dist/e30037b8/libsvc-simd.d.ts +0 -767
  37. package/dist/e30037b8/libsvc-simd.js +0 -4857
  38. package/dist/e30037b8/libsvc-simd.prod.d.ts +0 -767
  39. package/dist/e30037b8/libsvc-simd.prod.js +0 -209
  40. package/dist/e30037b8/libsvc-simd.prod.wasm +0 -0
  41. package/dist/e30037b8/libsvc-simd.wasm +0 -0
  42. package/dist/e30037b8/libsvc.d.ts +0 -767
  43. package/dist/e30037b8/libsvc.js +0 -4857
  44. package/dist/e30037b8/libsvc.prod.d.ts +0 -767
  45. package/dist/e30037b8/libsvc.prod.js +0 -209
  46. package/dist/e30037b8/libsvc.prod.wasm +0 -0
  47. package/dist/e30037b8/libsvc.wasm +0 -0
  48. package/dist/e30037b8/native-audio-worker.global.js +0 -1583
  49. package/dist/e30037b8/native-audio-worker.global.prod.js +0 -15
  50. package/dist/e30037b8/native-video-worker.global.js +0 -1960
  51. package/dist/e30037b8/native-video-worker.global.prod.js +0 -15
  52. package/dist/e30037b8/worklet-audio-worker.global.js +0 -900
  53. package/dist/e30037b8/worklet-audio-worker.global.prod.js +0 -15
@@ -1,767 +0,0 @@
1
- /// <reference types="emscripten" />
2
-
3
- import './libsvc.ambient';
4
-
5
- /* eslint-disable camelcase */
6
- export interface SVCModule extends EmscriptenModuleWithRuntime {
7
- SFUEndpoint: SFUEndpoint;
8
- SFUTransport: SFUTransport;
9
- SFUTransportProxy: SFUTransportProxy;
10
- VideoChannel: VideoChannel;
11
-
12
- Transport: Transport;
13
- TransportFactory: TransportFactory;
14
- TimerFactory: TimerFactory;
15
-
16
- FrameSource: FrameSource;
17
- FrameSink: FrameSink;
18
- I420Buffer: I420Buffer;
19
- EventEmitter: EventEmitter;
20
-
21
- SFUReason: SFUReason;
22
- SFUUserRole: SFUUserRole;
23
- SFUTransportType: SFUTransportType;
24
- SFUTransportStatus: SFUTransportStatus;
25
- SFUTransportOrient: SFUTransportOrient;
26
- SFUEndpointStatus: SFUEndpointStatus;
27
- VideoChannelOrient: VideoChannelOrient;
28
- VideoChannelMode: VideoChannelMode;
29
- VideoRotation: VideoRotation;
30
-
31
- DataChannel: DataChannel;
32
- DataType: DataType;
33
-
34
- SubtitleRecord: SubtitleRecord;
35
- SubtitleRealtime: SubtitleRealtime;
36
- }
37
-
38
- export interface SFUTransport {
39
- prototype: SFUTransportInterface;
40
- new (endpoint: SFUEndpointInterface, type: SFUTransportType): SFUTransportInterface;
41
- }
42
-
43
- export interface SFUTransportInterface
44
- extends EmscriptenClass<SFUTransportInterface>,
45
- EventEmitterInterface<SFUTransportEvents> {
46
- Connect(config: SFUTransportConfig): number;
47
- Disconnect(): number;
48
-
49
- Subscribe(request: SFUSubscribeData[], remove: SFUSubscribeData[]): number;
50
-
51
- SendData(data: SFUData[], meta?: SFUDataMeta): number;
52
- SendSingal(data: number, length: number, ccid: number): number;
53
- }
54
-
55
- export type SFUTransportEvents = {
56
- onjoin: (reason: SFUReason) => void;
57
- onleave: (reason: SFUReason) => void;
58
- onstatus: (status: SFUTransportStatus, reason: SFUReason) => void;
59
- onsubscribe: (ccid: number, reason: SFUReason) => void;
60
- onsubscribeupdated: (requests: SFUSubscribeConfig[]) => void;
61
- onbitrate: (info: SFUNetworkInfo) => void;
62
- onsendstats: (stats: SFUNetworkStats) => void;
63
- onrecvstats: (stats: SFUNetworkStats) => void;
64
- onsendreport: (stats: SFUNetworkStats) => void;
65
- onaudiosendstats: (stats: SFUNetworkAudioStats) => void;
66
- onaudiorecvstats: (stats: SFUNetworkAudioStats) => void;
67
- ontimestamps: () => void;
68
- onmediasync: (timestamps: SFUTimestamp[]) => void;
69
- onsignal: (data: number, length: number) => void;
70
- ondata: (data: number, length: number, ccid: number, time: string, channel: number) => void;
71
- };
72
-
73
- export interface SFUTransportProxy {
74
- prototype: SFUTransportProxyInterface;
75
- new (delegate: SFUTransportDelegate): SFUTransportProxyInterface;
76
- }
77
-
78
- export interface SFUTransportProxyInterface
79
- extends EmscriptenClass<SFUTransportProxyInterface>,
80
- SFUTransportEvents {
81
- // onjoin: (reason: SFUReason) => void;
82
- // onleave: (reason: SFUReason) => void;
83
- // onstatus: (status: SFUTransportStatus, reason: SFUReason) => void;
84
- // onsubscribe: (ccid: number, reason: SFUReason) => void;
85
- // onsubscribeupdated: (requests: SFUSubscribeConfig[]) => void;
86
- // onbitrate: (info: SFUNetworkInfo) => void;
87
- // onsendstats: (stats: SFUNetworkStats) => void;
88
- // onrecvstats: (stats: SFUNetworkStats) => void;
89
- // onsendreport: (stats: SFUNetworkStats) => void;
90
- // ontimestamps: () => void;
91
- // onmediasync: (timestamps: SFUTimestamp[]) => void;
92
- // onsignal: (data: number, length: number) => void;
93
- // ondata: (data: number, length: number, ccid: number, time: string) => void;
94
- }
95
-
96
- export interface SFUTransportDelegate {
97
- Connect(config: SFUTransportConfig): void;
98
- Disconnect(): void;
99
-
100
- Subscribe(request: SFUSubscribeData[], remove: number[]): void;
101
-
102
- SendData(data: SFUData[], meta: SFUDataMeta): void;
103
- SendSingal(data: number, length: number, ccid: number): void;
104
- }
105
-
106
- // pointer, length
107
- export type SFUData = [number, number];
108
-
109
- export interface SFUDataMeta {
110
- channel: number;
111
- priority: number;
112
- key_flag: number;
113
- cursor_image_flag: number;
114
- timestamp: number;
115
- }
116
-
117
- export interface SFUTransportConfig {
118
- orient: SFUTransportOrient;
119
- feature: number;
120
- target_incoming_bitrate: number;
121
- target_outgoing_bitrate: number;
122
- desc: SFUData;
123
- }
124
-
125
- export enum SFUTransportType {
126
- kAudio = 1,
127
- kVideo,
128
- kData,
129
- kAnnotation,
130
- kMessage,
131
- }
132
-
133
- export enum SFUTransportOrient {
134
- kSend = 1,
135
- kRecv,
136
- kBoth,
137
- }
138
-
139
- export enum SFUUserRole {
140
- kInteractive = 1,
141
- kBroadcast,
142
- }
143
-
144
- export interface SFUNetworkInfo {
145
- probe: number;
146
- bitrate: number;
147
- }
148
-
149
- export interface SFUNetworkStats {
150
- loss_rate: number;
151
- accumulated_loss_packets: number;
152
- jitter: number;
153
- rtt: number;
154
- bitrate: number;
155
- }
156
-
157
- export interface SFUNetworkReport {
158
- allocate_bitrate: number;
159
- bandwidth_estimation: number;
160
- bandwidth_from_reciever: number;
161
- fec_bitrate: number;
162
- nack_bitrate: number;
163
- paced_send_delay: number;
164
- }
165
-
166
- export interface SFUNetworkAudioStats {
167
- rtt: number;
168
- jitter: number;
169
- bitrate: number;
170
- audio_real_pkg_num: number;
171
- loss_rate: number;
172
- loss_continue_info: {
173
- loss_continue_eq_2: number;
174
- loss_continue_eq_3: number;
175
- loss_continue_eq_4: number;
176
- loss_continue_eq_5: number;
177
- loss_continue_eq_6: number;
178
- loss_continue_eq_7: number;
179
- loss_continue_eq_8: number;
180
- loss_continue_eq_9: number;
181
- loss_continue_gte_10: number;
182
- };
183
- outband_fec_bitrate: number;
184
- outband_fec_level: number;
185
- outband_fec_recover_rate: number;
186
- arq_bitrate: number;
187
- arq_recover_rate: number;
188
- arq_max_req_counts: number;
189
- arq_avg_req_counts: number;
190
- outband_loss_recover_rate: number;
191
- }
192
-
193
- export interface SFUTimestamp {
194
- ccid: number;
195
- timestamp: number;
196
- }
197
-
198
- export interface SFUSubscribeData {
199
- ccid: number;
200
- desc: SFUData;
201
- }
202
- export interface SFUSubscribeConfig {
203
- width: number;
204
- height: number;
205
- fps: number;
206
- bandwidth: number;
207
- is_update: boolean;
208
- }
209
-
210
- export interface SFUEndpoint {
211
- prototype: SFUEndpointInterface;
212
- new (transport_factory: TransportFactoryInterface): SFUEndpointInterface;
213
-
214
- Version(): string;
215
-
216
- Init(factory: TimerFactoryInterface, callback?: VideoChannelLogCallback): void;
217
- Exit(): void;
218
- }
219
-
220
- export interface SFUEndpointInterface
221
- extends EmscriptenClass<SFUEndpointInterface>,
222
- EventEmitterInterface<SFUEndpointEvents> {
223
- Start(config: SFUEndpointConfig): void;
224
- Stop(): void;
225
-
226
- SendOutboundAppCommand(data: number, length: number): void;
227
- }
228
-
229
- export type SFUEndpointEvents = {
230
- onstatus: (state: SFUEndpointStatus, reason: SFUReason) => void;
231
- };
232
-
233
- export interface SFUEndpointConfig {
234
- ccid: number;
235
- confid: string;
236
- token: string;
237
- encrypt: string;
238
- user_account: string;
239
- meeting_number: string;
240
- meeting_param: string;
241
- client_type: string;
242
- role: SFUUserRole;
243
- }
244
-
245
- export enum SFUReason {
246
- kOK = 0,
247
- kError = 1000,
248
- kExisted,
249
- kNetworkError,
250
- kMCFailed,
251
- kMSSFailed,
252
- kMSSLost,
253
- kAuthFailed,
254
- kLoadFailed,
255
- kNoImplemented,
256
- }
257
-
258
- export enum SFUTransportStatus {
259
- kReconnecting = 500,
260
- kReconnectOK,
261
- kReconnectNG,
262
- }
263
-
264
- export enum SFUEndpointStatus {
265
- kHandshakeOK = 100,
266
- kHandshakeNG,
267
- kConnectOK,
268
- kConnectNG,
269
- }
270
-
271
- export interface TransportInterface extends EmscriptenClass<TransportInterface> {
272
- readonly identity: TransportType;
273
- readonly callback: number;
274
-
275
- onopen(): void;
276
- onerror(): void;
277
- onclose(error: boolean, code: number): void;
278
- onmessage(data: number, length: number): void;
279
- }
280
-
281
- export interface TransportImpl {
282
- send(data: number, length: number): void;
283
- close(): void;
284
- destroy(): void;
285
- }
286
-
287
- export interface Transport {
288
- prototype: TransportInterface;
289
- new (impl: TransportImpl, identity: TransportType, callback: number): TransportInterface;
290
- }
291
-
292
- export enum TransportType {
293
- kSignal = 0,
294
- kData,
295
- }
296
-
297
- export interface TransportFactoryInterface extends EmscriptenClass<TransportFactoryInterface> {}
298
-
299
- export interface TransportFactoryImpl {
300
- create(identity: TransportType, callback: number): TransportInterface;
301
- }
302
-
303
- export interface TransportFactory {
304
- prototype: TransportFactoryInterface;
305
- new (impl: TransportFactoryImpl): TransportFactoryInterface;
306
- }
307
-
308
- export interface TimerFactoryInterface extends EmscriptenClass<TimerFactoryInterface> {}
309
-
310
- export interface TimerFactoryImpl {
311
- start(callback: number, delay: number): any;
312
- stop(id: any): void;
313
- }
314
-
315
- export interface TimerFactory {
316
- prototype: TimerFactoryInterface;
317
- new (impl: TimerFactoryImpl): TimerFactoryInterface;
318
-
319
- Run(callback: number): void;
320
- }
321
-
322
- export interface VideoChannel {
323
- prototype: VideoChannelInterface;
324
- new (type: VideoChannelType): VideoChannelInterface;
325
-
326
- Version(): string;
327
-
328
- Init(factory: TimerFactoryInterface, callback?: VideoChannelLogCallback): void;
329
- Exit(): void;
330
-
331
- EncodeMode(mode: VideoEncodeMode): void;
332
- }
333
-
334
- export enum VideoEncodeMode {
335
- kVeryfast = 0,
336
- kUltrafast = 1,
337
- }
338
-
339
- export type VideoChannelLogCallback = (level: number, msg: string) => void;
340
-
341
- export interface VideoChannelInterface
342
- extends EmscriptenClass<VideoChannelInterface>,
343
- EventEmitterInterface<VideoChannelEvents> {
344
- readonly type: VideoChannelType;
345
-
346
- SetTransport(transport?: SFUTransportProxyInterface): number;
347
- SetSource(source?: FrameSourceInterface): number;
348
- SetSink(source?: FrameSinkInterface): number;
349
- SetOrient(orient: VideoChannelOrient): number;
350
-
351
- Join(config: VideoChannelConfig): number;
352
- Leave(): number;
353
-
354
- Subscribe(request: VideoSubscribeConfig[], remove: number[]): number;
355
-
356
- SendStats(): VideoChannelStats;
357
- RecvStats(ccid: number): VideoChannelStats;
358
-
359
- SendReport(): VideoChannelSendReport;
360
- RecvReport(ccid: number): VideoChannelRecvReport;
361
- }
362
-
363
- export type VideoChannelEvents = {
364
- onjoin: (result: SFUReason) => void;
365
- onsubscribe: (ccid: number, result: SFUReason) => void;
366
- onfailoverstart: () => void;
367
- onfailoverfailed: () => void;
368
- onvideosize: (width: number, height: number) => void;
369
- oncpu: (cores: number) => void;
370
- onhighcpu: () => void;
371
- };
372
-
373
- // SFUTransportType
374
- // type VideoChannelType = SFUTransportType;
375
- export enum VideoChannelType {
376
- kAudio = 1,
377
- kVideo,
378
- kData,
379
- kAnnotation,
380
- kMessage,
381
- }
382
-
383
- // SFUTransportOrient
384
- // type VideoChannelOrient = SFUTransportOrient;
385
- export enum VideoChannelOrient {
386
- kSend = 1,
387
- kRecv,
388
- kBoth,
389
- }
390
-
391
- export enum VideoChannelMode {
392
- kNormal = 0,
393
- kSmooth,
394
- }
395
-
396
- export interface VideoChannelConfig {
397
- ccid: number;
398
- confid: string;
399
- orient: VideoChannelOrient;
400
- mode: VideoChannelMode;
401
- max_width: number;
402
- max_height: number;
403
- }
404
-
405
- export interface VideoSubscribeConfig {
406
- ccid: number;
407
- width: number;
408
- height: number;
409
- }
410
-
411
- export interface VideoChannelStats {
412
- width: number;
413
- height: number;
414
- frame_rate: number;
415
- bit_rate: number;
416
- loss_rate: number;
417
- accumulated_loss_packets: number;
418
- jitter: number;
419
- rtt: number;
420
- }
421
-
422
- export interface VideoChannelSendReport {
423
- send_net_info: VideoChannelOutboundInfo;
424
- send_stream_info: VideoChannelStreamInfo;
425
- }
426
-
427
- export interface VideoChannelRecvReport {
428
- recv_net_info: VideoChannelInboundInfo;
429
- recv_decode_info: VideoChannelDecodeInfo;
430
- }
431
-
432
- export interface VideoChannelOutboundInfo {
433
- ssrc: number;
434
- rtt: number;
435
- jitter: number;
436
- loss_rate: number;
437
- bandwidth_estimation: number;
438
- allocate_bitrate: number;
439
- bandwidth_from_reciever: number;
440
- send_bitrate: number;
441
- fec_bitrate: number;
442
- nack_bitrate: number;
443
- paced_send_delay: number;
444
- }
445
- export interface VideoChannelStreamInfo {
446
- capture_fps: number;
447
- datacap_avg_time: number;
448
- video_encode_infos: VideoEncodeInfo[];
449
- }
450
- export interface VideoEncodeInfo {
451
- enc_mode: number;
452
- codec_type: string;
453
- enc_width: number;
454
- enc_height: number;
455
- enc_fps: number;
456
- enc_bitrate: number;
457
- enc_avg_qp: number;
458
- enc_max_qp: number;
459
- enc_min_qp: number;
460
- enc_i_avg_qp: number;
461
- enc_idr_frame_num: number;
462
- enc_avg_time: number;
463
- cap2send_max_time: number;
464
- enc_high_delay_frame_num: number;
465
- big_frame_num: number;
466
- recv_req_keyframe_num: number;
467
- ltr_mark_frequency: number;
468
- }
469
-
470
- export interface VideoChannelInboundInfo {
471
- ssrc: number;
472
- rtt: number;
473
- jitter: number;
474
- loss_rate: number;
475
- recv_bitrate: number;
476
- }
477
- export interface VideoChannelDecodeInfo {
478
- codec_type: string;
479
- dec_width: number;
480
- dec_height: number;
481
- first_frame_time: number;
482
- video_aftdec_bitrate: number;
483
- video_aftdec_framerate: number;
484
- video_dec_errorcode: number;
485
- video_recovfrm_time: number;
486
- video_jitterbuf_time: number;
487
- decode_avg_time: number;
488
- req_keyframe_num: number;
489
- freeze_time: number;
490
- video_dec_largefreeze_num: number;
491
- sync_delay: number;
492
- eva_grade: number;
493
- frozen_rate: number;
494
- }
495
-
496
- export interface FrameSourceInterface
497
- extends EmscriptenClass<FrameSourceInterface>,
498
- EventEmitterInterface<FrameSourceEvents> {
499
- ccid: number;
500
-
501
- readonly canstart: boolean;
502
- readonly canstop: boolean;
503
-
504
- OnFrame(buffer: I420BufferInterface): void;
505
-
506
- AddSink(sink: FrameSinkInterface): void;
507
- RemoveSink(sink: FrameSinkInterface): void;
508
- }
509
-
510
- export type FrameSourceEvents = {
511
- onstart: () => void;
512
- onstop: () => void;
513
- };
514
-
515
- export interface FrameSource {
516
- prototype: FrameSourceInterface;
517
- new (): FrameSourceInterface;
518
- new (ccid: number): FrameSourceInterface;
519
- }
520
-
521
- export interface FrameSinkInterface
522
- extends EmscriptenClass<FrameSinkInterface>,
523
- EventEmitterInterface<FrameSinkEvents> {}
524
-
525
- export type FrameSinkEvents = {
526
- onframe: (ccid: number, buffer: I420BufferInterface) => void;
527
- oncursor: (ccid: number) => void;
528
- };
529
-
530
- export interface FrameSink {
531
- prototype: FrameSinkInterface;
532
- new (): FrameSinkInterface;
533
- }
534
-
535
- export interface I420BufferInterface extends EmscriptenClass<I420BufferInterface> {
536
- readonly width: number;
537
- readonly height: number;
538
- readonly chromaWidth: number;
539
- readonly chromaHeight: number;
540
- readonly dataY: number;
541
- readonly dataU: number;
542
- readonly dataV: number;
543
- readonly strideY: number;
544
- readonly strideU: number;
545
- readonly strideV: number;
546
-
547
- CropAndScaleFrom(buffer: I420BufferInterface): void;
548
- ScaleFrom(buffer: I420BufferInterface): void;
549
- PasteFrom(buffer: I420BufferInterface, offset_col: number, offset_row: number): void;
550
- ToABGR(pointer: number): void;
551
- }
552
-
553
- export interface I420Buffer {
554
- prototype: I420BufferInterface;
555
- new (width: number, height: number): I420BufferInterface;
556
-
557
- Copy(buffer: I420BufferInterface): I420BufferInterface;
558
- FromYUV(
559
- width: number,
560
- height: number,
561
- dataY: number,
562
- strideY: number,
563
- dataU: number,
564
- strideU: number,
565
- dataV: number,
566
- strideV: number
567
- ): I420BufferInterface;
568
- FromABGR(width: number, height: number, data: number, stride: number): I420BufferInterface;
569
- Rotate(buffer: I420BufferInterface, rotation: VideoRotation): I420BufferInterface;
570
- SetBlack(buffer: I420BufferInterface): void;
571
- }
572
-
573
- export enum VideoRotation {
574
- kRotation_0 = 0,
575
- kRotation_90 = 90,
576
- kRotation_180 = 180,
577
- kRotation_270 = 270,
578
- }
579
-
580
- export interface DataChannel {
581
- prototype: DataChannelInterface;
582
- // can only be VideoChannelType.kMessage
583
- new (type: VideoChannelType): DataChannelInterface;
584
- }
585
-
586
- export enum DataType {
587
- kCoopration = 1,
588
- kRemoteControl,
589
- kSubtitleRealtime,
590
- kSubtitleRecord,
591
- }
592
-
593
- export interface DataChannelInterface
594
- extends EmscriptenClass<DataChannelInterface>,
595
- EventEmitterInterface<DataChannelEvents> {
596
- readonly type: VideoChannelType;
597
-
598
- SetTransport(transport?: SFUTransportProxyInterface): number;
599
-
600
- Join(config: DataChannelConfig): number;
601
- Leave(): number;
602
-
603
- CreateDataStream(type: DataType): DataStreamInterface;
604
- }
605
-
606
- export type DataChannelEvents = Record<string, (...args: any[]) => void>;
607
-
608
- export interface DataChannelConfig {
609
- ccid: number;
610
- confid: string;
611
- }
612
-
613
- export interface DataStreamInterface
614
- extends EmscriptenClass<DataStreamInterface>,
615
- EventEmitterInterface<DataStreamEvents> {
616
- Write(data: number, length: number, dest: number[], traits: DataTraits): void;
617
- Subscribe(request: number[], remove: number[]): number;
618
- }
619
-
620
- export type DataStreamEvents = {
621
- ondata: (data: number, length: number, from: number[]) => void;
622
- };
623
-
624
- export interface DataTraits {
625
- direct: boolean;
626
- merge: boolean;
627
- }
628
-
629
- export interface SubtitleRecord {
630
- prototype: SubtitleRecordInterface;
631
- new (): SubtitleRecordInterface;
632
- }
633
-
634
- export interface SubtitleRecordInterface {
635
- encode(subtitle: RecordSubtitleInfo, callback: (data: SFUData) => void): void;
636
- decode(data: SFUData, callback: (subtitle: RecordSubtitleInfo) => void): void;
637
- }
638
-
639
- export interface SubtitleRealtime {
640
- prototype: SubtitleRealtimeInterface;
641
- new (): SubtitleRealtimeInterface;
642
- }
643
-
644
- export interface SubtitleRealtimeInterface {
645
- encode(subtitle: RealtimeSubtitleInfo, callback: (data: SFUData) => void): void;
646
- decode(data: SFUData, callback: (subtitle: RealtimeSubtitleInfo) => void): void;
647
- }
648
-
649
- export interface SubtitleInfo {
650
- sentence: SubtitleSentenceInfo;
651
- }
652
- export interface SubtitleSentenceInfo {
653
- speakerid: number;
654
- sentenceid: number;
655
- action: SubtitleSentenceAction;
656
- content: string;
657
- }
658
- export enum SubtitleSentenceAction {
659
- kCommon = 0,
660
- kShareStart,
661
- kShareEnd,
662
- kCoopStart,
663
- kCoopEnd,
664
- kServiceOver,
665
- }
666
- export interface RecordSubtitleInfo extends SubtitleInfo {
667
- speaker: string;
668
- starttime: number;
669
- endtime: number;
670
- words: SubtitleWordInfo[];
671
- }
672
- export interface RealtimeSubtitleInfo extends SubtitleInfo {
673
- status: SubtitleSentenceStatus;
674
- }
675
- export enum SubtitleSentenceStatus {
676
- kStart = 0,
677
- kChanging,
678
- kEnd,
679
- }
680
- export interface SubtitleWordInfo {
681
- timeoffset: number;
682
- content: string;
683
- }
684
-
685
- export interface EventEmitterInterface<
686
- EventMap extends Record<string, (...args: any[]) => void> = never
687
- > {
688
- once<T extends keyof EventMap>(event: T, callback: EventMap[T]): void;
689
- once<T extends keyof EventMap>(
690
- event: '*',
691
- callback: (event: T, ...args: Parameters<EventMap[T]>) => void
692
- ): void;
693
- once<T extends keyof EventMap>(
694
- event: '*',
695
- callback: (event: T, ...args: unknown[]) => void
696
- ): void;
697
- once(event: string, callback: (...args: unknown[]) => void): void;
698
-
699
- on<T extends keyof EventMap>(event: T, callback: EventMap[T]): void;
700
- on<T extends keyof EventMap>(
701
- event: '*',
702
- callback: (event: T, ...args: Parameters<EventMap[T]>) => void
703
- ): void;
704
- on<T extends keyof EventMap>(event: '*', callback: (event: T, ...args: unknown[]) => void): void;
705
- on(event: string, callback: (...args: unknown[]) => void): void;
706
-
707
- off<T extends keyof EventMap>(event: T, callback?: EventMap[T]): void;
708
- off(event: string, callback?: (...args: unknown[]) => void): void;
709
-
710
- emit(event: keyof EventMap, ...args: Parameters<EventMap[typeof event]>): void;
711
- emit(event: string, ...args: unknown[]): void;
712
- }
713
-
714
- export interface EventEmitter {
715
- prototype: EventEmitterInterface & EmscriptenClass<EventEmitterInterface>;
716
- new (): EventEmitterInterface & EmscriptenClass<EventEmitterInterface>;
717
- }
718
-
719
- export interface EmscriptenClass<T> {
720
- clone(): T;
721
- delete(): void;
722
- deleteLater(): void;
723
- isAliasOf(): boolean;
724
- isDeleted(): boolean;
725
- }
726
-
727
- export interface EmscriptenModuleWithRuntime extends EmscriptenModule {
728
- ccall: typeof ccall;
729
- cwrap: typeof cwrap;
730
-
731
- setValue: typeof setValue;
732
- getValue: typeof getValue;
733
-
734
- allocate: typeof allocate;
735
-
736
- stackAlloc: typeof stackAlloc;
737
- stackSave: typeof stackSave;
738
- stackRestore: typeof stackRestore;
739
-
740
- UTF8ToString: typeof UTF8ToString;
741
- stringToUTF8: typeof stringToUTF8;
742
- lengthBytesUTF8: typeof lengthBytesUTF8;
743
- allocateUTF8: typeof allocateUTF8;
744
- allocateUTF8OnStack: typeof allocateUTF8OnStack;
745
- UTF16ToString: typeof UTF16ToString;
746
- stringToUTF16: typeof stringToUTF16;
747
- lengthBytesUTF16: typeof lengthBytesUTF16;
748
- UTF32ToString: typeof UTF32ToString;
749
- stringToUTF32: typeof stringToUTF32;
750
- lengthBytesUTF32: typeof lengthBytesUTF32;
751
-
752
- intArrayFromString: typeof intArrayFromString;
753
- intArrayToString: typeof intArrayToString;
754
- writeStringToMemory: typeof writeStringToMemory;
755
- writeArrayToMemory: typeof writeArrayToMemory;
756
- writeAsciiToMemory: typeof writeAsciiToMemory;
757
-
758
- addRunDependency: typeof addRunDependency;
759
- removeRunDependency: typeof removeRunDependency;
760
-
761
- addFunction: typeof addFunction;
762
- removeFunction: typeof removeFunction;
763
- }
764
-
765
- declare const factory: EmscriptenModuleFactory<SVCModule>;
766
-
767
- export default factory;