@videosdk.live/react-sdk 0.1.77 → 0.1.78

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.
@@ -5,7 +5,6 @@
5
5
  // Zujo Now <https://github.com/zujonow>
6
6
  // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
7
 
8
-
9
8
  import { Connection } from './connection';
10
9
  import { Meeting } from './meeting';
11
10
  import { Participant } from './participant';
@@ -64,32 +63,33 @@ import { Stream } from './stream';
64
63
  *
65
64
  */
66
65
  export function MeetingProvider({
67
- children,
68
- config,
69
- token,
70
- joinWithoutUserInteraction,
71
- reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,
72
- deviceInfo,
66
+ children,
67
+ config,
68
+ token,
69
+ joinWithoutUserInteraction,
70
+ reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,
71
+ deviceInfo,
73
72
  }: {
74
- children: any;
75
- config: {
76
- meetingId: string;
77
- autoConsume?: boolean;
78
- preferredProtocol?: 'UDP_ONLY' | 'UDP_OVER_TCP';
79
- participantId?: string | undefined;
80
- name: string;
81
- micEnabled: boolean;
82
- webcamEnabled: boolean;
83
- maxResolution?: 'hd' | 'sd';
84
- customCameraVideoTrack?: MediaStream | undefined;
85
- customMicrophoneAudioTrack?: MediaStream | undefined;
86
- multiStream?: boolean;
87
- mode?: 'CONFERENCE' | 'VIEWER';
88
- };
89
- token: string;
90
- joinWithoutUserInteraction?: boolean;
91
- reinitialiseMeetingOnConfigChange?: boolean;
92
- deviceInfo?: object;
73
+ children: any;
74
+ config: {
75
+ meetingId: string;
76
+ autoConsume?: boolean;
77
+ preferredProtocol?: 'UDP_ONLY' | 'UDP_OVER_TCP';
78
+ participantId?: string | undefined;
79
+ name: string;
80
+ micEnabled: boolean;
81
+ webcamEnabled: boolean;
82
+ maxResolution?: 'hd' | 'sd';
83
+ customCameraVideoTrack?: MediaStream | undefined;
84
+ customMicrophoneAudioTrack?: MediaStream | undefined;
85
+ multiStream?: boolean;
86
+ mode?: 'CONFERENCE' | 'VIEWER';
87
+ metaData?: object;
88
+ };
89
+ token: string;
90
+ joinWithoutUserInteraction?: boolean;
91
+ reinitialiseMeetingOnConfigChange?: boolean;
92
+ deviceInfo?: object;
93
93
  }): any;
94
94
 
95
95
  /**
@@ -155,131 +155,162 @@ export function MeetingProvider({
155
155
  */
156
156
 
157
157
  export function MeetingConsumer({
158
- children,
159
- onParticipantJoined,
160
- onParticipantLeft,
161
- onSpeakerChanged,
162
- onPresenterChanged,
163
- onMainParticipantChanged,
164
- onEntryRequested,
165
- onEntryResponded,
166
- onRecordingStarted,
167
- onRecordingStopped,
168
- onChatMessage,
169
- onMeetingJoined,
170
- onMeetingLeft,
171
- onLiveStreamStarted,
172
- onLiveStreamStopped,
173
- onVideoStateChanged,
174
- onVideoSeeked,
175
- onWebcamRequested,
176
- onMicRequested,
177
- onPinStateChanged,
178
- onConnectionOpen,
179
- onConnetionClose,
180
- onSwitchMeeting,
181
- onError,
182
- onHlsStarted,
183
- onHlsStopped,
184
- onHlsStateChanged,
185
- onRecordingStateChanged,
186
- onLivestreamStateChanged,
187
- onMeetingStateChanged,
188
- onParticipantModeChanged,
158
+ children,
159
+ onParticipantJoined,
160
+ onParticipantLeft,
161
+ onSpeakerChanged,
162
+ onPresenterChanged,
163
+ onMainParticipantChanged,
164
+ onEntryRequested,
165
+ onEntryResponded,
166
+ onRecordingStarted,
167
+ onRecordingStopped,
168
+ onChatMessage,
169
+ onMeetingJoined,
170
+ onMeetingLeft,
171
+ onLiveStreamStarted,
172
+ onLiveStreamStopped,
173
+ onVideoStateChanged,
174
+ onVideoSeeked,
175
+ onWebcamRequested,
176
+ onMicRequested,
177
+ onPinStateChanged,
178
+ onConnectionOpen,
179
+ onConnetionClose,
180
+ onSwitchMeeting,
181
+ onError,
182
+ onHlsStarted,
183
+ onHlsStopped,
184
+ onHlsStateChanged,
185
+ onRecordingStateChanged,
186
+ onLivestreamStateChanged,
187
+ onMeetingStateChanged,
188
+ onParticipantModeChanged,
189
189
  }: {
190
- children: any;
191
- onParticipantJoined?: (participant: Participant) => void;
192
- onParticipantLeft?: (participant: Participant) => void;
193
- onSpeakerChanged?: (activeSpeakerId: string | null) => void;
194
- onPresenterChanged?: (presenterId: string | null) => void;
195
- onMainParticipantChanged?: (participant: Participant) => void;
196
- onEntryRequested?: ({
197
- participantId,
198
- name,
199
- allow,
200
- deny,
201
- }: {
202
- participantId: string;
203
- name: string;
204
- allow: () => void;
205
- deny: () => void;
206
- }) => void;
207
- onEntryResponded?: ({ participantId, decision }: { participantId: string; decision: string }) => void;
208
- onRecordingStarted?: () => void;
209
- onRecordingStopped?: () => void;
210
- onChatMessage?: (data: { message: string; senderId: string; timestamp: string; senderName: string }) => void;
211
- onMeetingJoined?: () => void;
212
- onMeetingLeft?: () => void;
213
- onLiveStreamStarted?: () => void;
214
- onLiveStreamStopped?: () => void;
215
- onVideoStateChanged?: () => void;
216
- onVideoSeeked?: () => void;
217
- onWebcamRequested?: ({
218
- participantId,
219
- accept,
220
- reject,
221
- }: {
222
- participantId: string;
223
- accept: () => void;
224
- reject: () => void;
225
- }) => void;
226
- onMicRequested?: ({
227
- participantId,
228
- accept,
229
- reject,
230
- }: {
231
- participantId: string;
232
- accept: () => void;
233
- reject: () => void;
234
- }) => void;
235
- onPinStateChanged?: ({
236
- participantId,
237
- state,
238
- pinnedBy,
239
- }: {
240
- participantId: string;
241
- state: { share: boolean; cam: boolean };
242
- pinnedBy: string;
243
- }) => void;
244
- onConnectionOpen?: () => void;
245
- onConnetionClose?: () => void;
246
- onSwitchMeeting?: () => void;
247
- onError?: ({ code, message }: { code: string; message: string }) => void;
248
- onHlsStarted?: ({ downstreamUrl }: { downstreamUrl: string }) => void;
249
- onHlsStopped?: () => void;
250
- onHlsStateChanged?: ({
251
- status,
252
- downstreamUrl,
253
- playbackHlsUrl,
254
- livestreamUrl,
255
- }: {
256
- status: 'HLS_STARTING' | 'HLS_STARTED' | 'HLS_PLAYABLE' | 'HLS_STOPPING' | 'HLS_STOPPED';
257
- downstreamUrl?: string;
258
- playbackHlsUrl?: string;
259
- livestreamUrl?: string;
260
- }) => void;
261
- onRecordingStateChanged?: ({
262
- status,
263
- }: {
264
- status: 'RECORDING_STARTING' | 'RECORDING_STARTED' | 'RECORDING_STOPPING' | 'RECORDING_STOPPED';
265
- }) => void;
266
- onLivestreamStateChanged?:({
267
- status
268
- }: {
269
- status: 'LIVESTREAM_STARTING' | 'LIVESTREAM_STARTED' | 'LIVESTREAM_STOPPING' | 'LIVESTREAM_STOPPED';
270
- }) => void;
271
- onMeetingStateChanged?: ({
272
- state,
273
- }: {
274
- state: 'CONNECTING' | 'CONNECTED' | 'FAILED' | 'DISCONNECTED' | 'CLOSING' | 'CLOSED';
275
- }) => void;
276
- onParticipantModeChanged?: ({
277
- participantId,
278
- mode,
279
- }: {
280
- participantId: string;
281
- mode: 'CONFERENCE' | 'VIEWER';
282
- }) => void;
190
+ children: any;
191
+ onParticipantJoined?: (participant: Participant) => void;
192
+ onParticipantLeft?: (participant: Participant) => void;
193
+ onSpeakerChanged?: (activeSpeakerId: string | null) => void;
194
+ onPresenterChanged?: (presenterId: string | null) => void;
195
+ onMainParticipantChanged?: (participant: Participant) => void;
196
+ onEntryRequested?: ({
197
+ participantId,
198
+ name,
199
+ allow,
200
+ deny,
201
+ }: {
202
+ participantId: string;
203
+ name: string;
204
+ allow: () => void;
205
+ deny: () => void;
206
+ }) => void;
207
+ onEntryResponded?: ({
208
+ participantId,
209
+ decision,
210
+ }: {
211
+ participantId: string;
212
+ decision: string;
213
+ }) => void;
214
+ onRecordingStarted?: () => void;
215
+ onRecordingStopped?: () => void;
216
+ onChatMessage?: (data: {
217
+ message: string;
218
+ senderId: string;
219
+ timestamp: string;
220
+ senderName: string;
221
+ payload: object;
222
+ }) => void;
223
+ onMeetingJoined?: () => void;
224
+ onMeetingLeft?: () => void;
225
+ onLiveStreamStarted?: () => void;
226
+ onLiveStreamStopped?: () => void;
227
+ onVideoStateChanged?: () => void;
228
+ onVideoSeeked?: () => void;
229
+ onWebcamRequested?: ({
230
+ participantId,
231
+ accept,
232
+ reject,
233
+ }: {
234
+ participantId: string;
235
+ accept: () => void;
236
+ reject: () => void;
237
+ }) => void;
238
+ onMicRequested?: ({
239
+ participantId,
240
+ accept,
241
+ reject,
242
+ }: {
243
+ participantId: string;
244
+ accept: () => void;
245
+ reject: () => void;
246
+ }) => void;
247
+ onPinStateChanged?: ({
248
+ participantId,
249
+ state,
250
+ pinnedBy,
251
+ }: {
252
+ participantId: string;
253
+ state: { share: boolean; cam: boolean };
254
+ pinnedBy: string;
255
+ }) => void;
256
+ onConnectionOpen?: () => void;
257
+ onConnetionClose?: () => void;
258
+ onSwitchMeeting?: () => void;
259
+ onError?: ({ code, message }: { code: string; message: string }) => void;
260
+ onHlsStarted?: ({ downstreamUrl }: { downstreamUrl: string }) => void;
261
+ onHlsStopped?: () => void;
262
+ onHlsStateChanged?: ({
263
+ status,
264
+ downstreamUrl,
265
+ playbackHlsUrl,
266
+ livestreamUrl,
267
+ }: {
268
+ status:
269
+ | 'HLS_STARTING'
270
+ | 'HLS_STARTED'
271
+ | 'HLS_PLAYABLE'
272
+ | 'HLS_STOPPING'
273
+ | 'HLS_STOPPED';
274
+ downstreamUrl?: string;
275
+ playbackHlsUrl?: string;
276
+ livestreamUrl?: string;
277
+ }) => void;
278
+ onRecordingStateChanged?: ({
279
+ status,
280
+ }: {
281
+ status:
282
+ | 'RECORDING_STARTING'
283
+ | 'RECORDING_STARTED'
284
+ | 'RECORDING_STOPPING'
285
+ | 'RECORDING_STOPPED';
286
+ }) => void;
287
+ onLivestreamStateChanged?: ({
288
+ status,
289
+ }: {
290
+ status:
291
+ | 'LIVESTREAM_STARTING'
292
+ | 'LIVESTREAM_STARTED'
293
+ | 'LIVESTREAM_STOPPING'
294
+ | 'LIVESTREAM_STOPPED';
295
+ }) => void;
296
+ onMeetingStateChanged?: ({
297
+ state,
298
+ }: {
299
+ state:
300
+ | 'CONNECTING'
301
+ | 'CONNECTED'
302
+ | 'FAILED'
303
+ | 'DISCONNECTED'
304
+ | 'CLOSING'
305
+ | 'CLOSED';
306
+ }) => void;
307
+ onParticipantModeChanged?: ({
308
+ participantId,
309
+ mode,
310
+ }: {
311
+ participantId: string;
312
+ mode: 'CONFERENCE' | 'VIEWER';
313
+ }) => void;
283
314
  }): any;
284
315
 
285
316
  /**
@@ -341,119 +372,127 @@ export function MeetingConsumer({
341
372
  * @returns This will return particular participant properties and method. You can refer this [API Reference](https://docs.videosdk.live/react/api/sdk-reference/use-participant/introduction)
342
373
  */
343
374
  export function useParticipant(
344
- participantId: string,
345
- {
346
- onStreamEnabled,
347
- onStreamDisabled,
348
- onMediaStatusChanged,
349
- onVideoQualityChanged,
350
- }?: {
351
- onStreamDisabled?: (stream: Stream) => void;
352
- onStreamEnabled?: (stream: Stream) => void;
353
- onMediaStatusChanged?: ({
354
- kind,
355
- peerId,
356
- newStatus,
357
- }: {
358
- kind: 'audio' | 'video';
359
- peerId: string;
360
- newStatus: boolean;
361
- }) => void;
362
- onVideoQualityChanged?: ({
363
- peerId,
364
- prevQuality,
365
- currentQuality,
366
- }: {
367
- peerId: string;
368
- prevQuality: 'low' | 'med' | 'high';
369
- currentQuality: 'low' | 'med' | 'high';
370
- }) => void;
371
- },
375
+ participantId: string,
376
+ {
377
+ onStreamEnabled,
378
+ onStreamDisabled,
379
+ onMediaStatusChanged,
380
+ onVideoQualityChanged,
381
+ }?: {
382
+ onStreamDisabled?: (stream: Stream) => void;
383
+ onStreamEnabled?: (stream: Stream) => void;
384
+ onMediaStatusChanged?: ({
385
+ kind,
386
+ peerId,
387
+ newStatus,
388
+ }: {
389
+ kind: 'audio' | 'video';
390
+ peerId: string;
391
+ newStatus: boolean;
392
+ }) => void;
393
+ onVideoQualityChanged?: ({
394
+ peerId,
395
+ prevQuality,
396
+ currentQuality,
397
+ }: {
398
+ peerId: string;
399
+ prevQuality: 'low' | 'med' | 'high';
400
+ currentQuality: 'low' | 'med' | 'high';
401
+ }) => void;
402
+ },
372
403
  ): {
373
- displayName: string;
374
- participant: Participant;
375
- webcamStream: Stream;
376
- micStream: Stream;
377
- screenShareStream: Stream;
378
- screenShareAudioStream: Stream;
379
- webcamOn: boolean;
380
- micOn: boolean;
381
- screenShareOn: boolean;
382
- isLocal: boolean;
383
- isActiveSpeaker: boolean;
384
- isMainParticipant: boolean;
385
- pinState: any;
386
- mode: 'CONFERENCE' | 'VIEWER';
387
- consumeMicStreams: () => void;
388
- consumeWebcamStreams: () => void;
389
- stopConsumingMicStreams: () => void;
390
- stopConsumingWebcamStreams: () => void;
391
- setQuality: (quality: 'low' | 'med' | 'high') => void;
392
- setViewPort: (width: number, height: number) => void;
393
- enableMic: () => void;
394
- disableMic: () => void;
395
- enableWebcam: () => void;
396
- disableWebcam: () => void;
397
- remove: () => void;
398
- pin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
399
- unpin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
400
- switchTo: ({ meetingId, payload, token }: { meetingId: string; payload: string; token: string }) => Promise<void>;
401
- getAudioStats: () => Promise<
402
- Array<{
403
- bitrate: number;
404
- rtt: number;
405
- network: string;
406
- codec: string;
407
- jitter: number;
408
- limitation: any;
409
- totalPackets: number;
410
- packetsLost: number;
411
- concealmentEvents: number;
412
- insertedSamplesForDecelaration: number;
413
- removedSamplesForAccelaration: number;
414
- size: any;
415
- }>
416
- >;
417
- getVideoStats: () => Promise<
418
- Array<{
419
- bitrate: number;
420
- rtt: number;
421
- network: string;
422
- codec: string;
423
- jitter: number;
424
- limitation: any;
425
- totalPackets: number;
426
- packetsLost: number;
427
- concealmentEvents: number;
428
- insertedSamplesForDecelaration: number;
429
- removedSamplesForAccelaration: number;
430
- size: any;
431
- currentSpatialLayer: number;
432
- currentTemporalLayer: number;
433
- preferredSpatialLayer: number;
434
- preferredTemporalLayer: number;
435
- }>
436
- >;
437
- getShareStats: () => Promise<
438
- Array<{
439
- bitrate: number;
440
- rtt: number;
441
- network: string;
442
- codec: string;
443
- jitter: number;
444
- limitation: any;
445
- totalPackets: number;
446
- packetsLost: number;
447
- concealmentEvents: number;
448
- insertedSamplesForDecelaration: number;
449
- removedSamplesForAccelaration: number;
450
- size: any;
451
- currentSpatialLayer: number;
452
- currentTemporalLayer: number;
453
- preferredSpatialLayer: number;
454
- preferredTemporalLayer: number;
455
- }>
456
- >;
404
+ displayName: string;
405
+ participant: Participant;
406
+ webcamStream: Stream;
407
+ micStream: Stream;
408
+ screenShareStream: Stream;
409
+ screenShareAudioStream: Stream;
410
+ webcamOn: boolean;
411
+ micOn: boolean;
412
+ screenShareOn: boolean;
413
+ isLocal: boolean;
414
+ isActiveSpeaker: boolean;
415
+ isMainParticipant: boolean;
416
+ pinState: any;
417
+ mode: 'CONFERENCE' | 'VIEWER';
418
+ consumeMicStreams: () => void;
419
+ consumeWebcamStreams: () => void;
420
+ stopConsumingMicStreams: () => void;
421
+ stopConsumingWebcamStreams: () => void;
422
+ setQuality: (quality: 'low' | 'med' | 'high') => void;
423
+ setViewPort: (width: number, height: number) => void;
424
+ enableMic: () => void;
425
+ disableMic: () => void;
426
+ enableWebcam: () => void;
427
+ disableWebcam: () => void;
428
+ remove: () => void;
429
+ pin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
430
+ unpin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
431
+ switchTo: ({
432
+ meetingId,
433
+ payload,
434
+ token,
435
+ }: {
436
+ meetingId: string;
437
+ payload: string;
438
+ token: string;
439
+ }) => Promise<void>;
440
+ getAudioStats: () => Promise<
441
+ Array<{
442
+ bitrate: number;
443
+ rtt: number;
444
+ network: string;
445
+ codec: string;
446
+ jitter: number;
447
+ limitation: any;
448
+ totalPackets: number;
449
+ packetsLost: number;
450
+ concealmentEvents: number;
451
+ insertedSamplesForDecelaration: number;
452
+ removedSamplesForAccelaration: number;
453
+ size: any;
454
+ }>
455
+ >;
456
+ getVideoStats: () => Promise<
457
+ Array<{
458
+ bitrate: number;
459
+ rtt: number;
460
+ network: string;
461
+ codec: string;
462
+ jitter: number;
463
+ limitation: any;
464
+ totalPackets: number;
465
+ packetsLost: number;
466
+ concealmentEvents: number;
467
+ insertedSamplesForDecelaration: number;
468
+ removedSamplesForAccelaration: number;
469
+ size: any;
470
+ currentSpatialLayer: number;
471
+ currentTemporalLayer: number;
472
+ preferredSpatialLayer: number;
473
+ preferredTemporalLayer: number;
474
+ }>
475
+ >;
476
+ getShareStats: () => Promise<
477
+ Array<{
478
+ bitrate: number;
479
+ rtt: number;
480
+ network: string;
481
+ codec: string;
482
+ jitter: number;
483
+ limitation: any;
484
+ totalPackets: number;
485
+ packetsLost: number;
486
+ concealmentEvents: number;
487
+ insertedSamplesForDecelaration: number;
488
+ removedSamplesForAccelaration: number;
489
+ size: any;
490
+ currentSpatialLayer: number;
491
+ currentTemporalLayer: number;
492
+ preferredSpatialLayer: number;
493
+ preferredTemporalLayer: number;
494
+ }>
495
+ >;
457
496
  };
458
497
 
459
498
  /**
@@ -520,232 +559,270 @@ export function useParticipant(
520
559
  */
521
560
 
522
561
  export function useMeeting({
523
- onParticipantJoined,
524
- onParticipantLeft,
525
- onSpeakerChanged,
526
- onPresenterChanged,
527
- onMainParticipantChanged,
528
- onEntryRequested,
529
- onEntryResponded,
530
- onRecordingStarted,
531
- onRecordingStopped,
532
- onChatMessage,
533
- onMeetingJoined,
534
- onMeetingLeft,
535
- onLiveStreamStarted,
536
- onLiveStreamStopped,
537
- onVideoStateChanged,
538
- onVideoSeeked,
539
- onWebcamRequested,
540
- onMicRequested,
541
- onPinStateChanged,
542
- onConnectionOpen,
543
- onConnetionClose,
544
- onSwitchMeeting,
545
- onError,
546
- onHlsStarted,
547
- onHlsStopped,
548
- onHlsStateChanged,
549
- onRecordingStateChanged,
550
- onLivestreamStateChanged,
551
- onMeetingStateChanged,
552
- onParticipantModeChanged,
562
+ onParticipantJoined,
563
+ onParticipantLeft,
564
+ onSpeakerChanged,
565
+ onPresenterChanged,
566
+ onMainParticipantChanged,
567
+ onEntryRequested,
568
+ onEntryResponded,
569
+ onRecordingStarted,
570
+ onRecordingStopped,
571
+ onChatMessage,
572
+ onMeetingJoined,
573
+ onMeetingLeft,
574
+ onLiveStreamStarted,
575
+ onLiveStreamStopped,
576
+ onVideoStateChanged,
577
+ onVideoSeeked,
578
+ onWebcamRequested,
579
+ onMicRequested,
580
+ onPinStateChanged,
581
+ onConnectionOpen,
582
+ onConnetionClose,
583
+ onSwitchMeeting,
584
+ onError,
585
+ onHlsStarted,
586
+ onHlsStopped,
587
+ onHlsStateChanged,
588
+ onRecordingStateChanged,
589
+ onLivestreamStateChanged,
590
+ onMeetingStateChanged,
591
+ onParticipantModeChanged,
553
592
  }?: {
554
- onParticipantJoined?: (participant: Participant) => void;
555
- onParticipantLeft?: (participant: Participant) => void;
556
- onSpeakerChanged?: (activeSpeakerId: string | null) => void;
557
- onPresenterChanged?: (presenterId: string | null) => void;
558
- onMainParticipantChanged?: (participant: Participant) => void;
559
- onEntryRequested?: ({
560
- participantId,
561
- name,
562
- allow,
563
- deny,
564
- }: {
565
- participantId: string;
566
- name: string;
567
- allow: () => void;
568
- deny: () => void;
569
- }) => void;
570
- onEntryResponded?: ({ participantId, decision }: { participantId: string; decision: string }) => void;
571
- onRecordingStarted?: () => void;
572
- onRecordingStopped?: () => void;
573
- onChatMessage?: (data: { message: string; senderId: string; timestamp: string; senderName: string }) => void;
574
- onMeetingJoined?: () => void;
575
- onMeetingLeft?: () => void;
576
- onLiveStreamStarted?: () => void;
577
- onLiveStreamStopped?: () => void;
578
- onVideoStateChanged?: () => void;
579
- onVideoSeeked?: () => void;
580
- onWebcamRequested?: ({
581
- participantId,
582
- accept,
583
- reject,
584
- }: {
585
- participantId: string;
586
- accept: () => void;
587
- reject: () => void;
588
- }) => void;
589
- onMicRequested?: ({
590
- participantId,
591
- accept,
592
- reject,
593
- }: {
594
- participantId: string;
595
- accept: () => void;
596
- reject: () => void;
597
- }) => void;
598
- onPinStateChanged?: ({
599
- participantId,
600
- state,
601
- pinnedBy,
602
- }: {
603
- participantId: string;
604
- state: { share: boolean; cam: boolean };
605
- pinnedBy: string;
606
- }) => void;
607
- onConnectionOpen?: () => void;
608
- onConnetionClose?: () => void;
609
- onSwitchMeeting?: () => void;
610
- onError?: ({ code, message }: { code: string; message: string }) => void;
611
- onHlsStarted?: ({ downstreamUrl }: { downstreamUrl: string }) => void;
612
- onHlsStopped?: () => void;
613
- onHlsStateChanged?: ({
614
- status,
615
- downstreamUrl,
616
- playbackHlsUrl,
617
- livestreamUrl,
618
- }: {
619
- status: 'HLS_STARTING' | 'HLS_STARTED' | 'HLS_PLAYABLE' | 'HLS_STOPPING' | 'HLS_STOPPED';
620
- downstreamUrl?: string;
621
- playbackHlsUrl?: string;
622
- livestreamUrl?: string;
623
- }) => void;
624
- onRecordingStateChanged?: ({
625
- status,
626
- }: {
627
- status: 'RECORDING_STARTING' | 'RECORDING_STARTED' | 'RECORDING_STOPPING' | 'RECORDING_STOPPED';
628
- }) => void;
629
- onLivestreamStateChanged?:({
630
- status
631
- }: {
632
- status: 'LIVESTREAM_STARTING' | 'LIVESTREAM_STARTED' | 'LIVESTREAM_STOPPING' | 'LIVESTREAM_STOPPED';
633
- }) => void;
634
- onMeetingStateChanged?: ({
635
- state,
636
- }: {
637
- state: 'CONNECTING' | 'CONNECTED' | 'FAILED' | 'DISCONNECTED' | 'CLOSING' | 'CLOSED';
638
- }) => void;
639
- onParticipantModeChanged?: ({
640
- participantId,
641
- mode,
642
- }: {
643
- participantId: string;
644
- mode: 'CONFERENCE' | 'VIEWER';
645
- }) => void;
593
+ onParticipantJoined?: (participant: Participant) => void;
594
+ onParticipantLeft?: (participant: Participant) => void;
595
+ onSpeakerChanged?: (activeSpeakerId: string | null) => void;
596
+ onPresenterChanged?: (presenterId: string | null) => void;
597
+ onMainParticipantChanged?: (participant: Participant) => void;
598
+ onEntryRequested?: ({
599
+ participantId,
600
+ name,
601
+ allow,
602
+ deny,
603
+ }: {
604
+ participantId: string;
605
+ name: string;
606
+ allow: () => void;
607
+ deny: () => void;
608
+ }) => void;
609
+ onEntryResponded?: ({
610
+ participantId,
611
+ decision,
612
+ }: {
613
+ participantId: string;
614
+ decision: string;
615
+ }) => void;
616
+ onRecordingStarted?: () => void;
617
+ onRecordingStopped?: () => void;
618
+ onChatMessage?: (data: {
619
+ message: string;
620
+ senderId: string;
621
+ timestamp: string;
622
+ senderName: string;
623
+ payload: object;
624
+ }) => void;
625
+ onMeetingJoined?: () => void;
626
+ onMeetingLeft?: () => void;
627
+ onLiveStreamStarted?: () => void;
628
+ onLiveStreamStopped?: () => void;
629
+ onVideoStateChanged?: () => void;
630
+ onVideoSeeked?: () => void;
631
+ onWebcamRequested?: ({
632
+ participantId,
633
+ accept,
634
+ reject,
635
+ }: {
636
+ participantId: string;
637
+ accept: () => void;
638
+ reject: () => void;
639
+ }) => void;
640
+ onMicRequested?: ({
641
+ participantId,
642
+ accept,
643
+ reject,
644
+ }: {
645
+ participantId: string;
646
+ accept: () => void;
647
+ reject: () => void;
648
+ }) => void;
649
+ onPinStateChanged?: ({
650
+ participantId,
651
+ state,
652
+ pinnedBy,
653
+ }: {
654
+ participantId: string;
655
+ state: { share: boolean; cam: boolean };
656
+ pinnedBy: string;
657
+ }) => void;
658
+ onConnectionOpen?: () => void;
659
+ onConnetionClose?: () => void;
660
+ onSwitchMeeting?: () => void;
661
+ onError?: ({ code, message }: { code: string; message: string }) => void;
662
+ onHlsStarted?: ({ downstreamUrl }: { downstreamUrl: string }) => void;
663
+ onHlsStopped?: () => void;
664
+ onHlsStateChanged?: ({
665
+ status,
666
+ downstreamUrl,
667
+ playbackHlsUrl,
668
+ livestreamUrl,
669
+ }: {
670
+ status:
671
+ | 'HLS_STARTING'
672
+ | 'HLS_STARTED'
673
+ | 'HLS_PLAYABLE'
674
+ | 'HLS_STOPPING'
675
+ | 'HLS_STOPPED';
676
+ downstreamUrl?: string;
677
+ playbackHlsUrl?: string;
678
+ livestreamUrl?: string;
679
+ }) => void;
680
+ onRecordingStateChanged?: ({
681
+ status,
682
+ }: {
683
+ status:
684
+ | 'RECORDING_STARTING'
685
+ | 'RECORDING_STARTED'
686
+ | 'RECORDING_STOPPING'
687
+ | 'RECORDING_STOPPED';
688
+ }) => void;
689
+ onLivestreamStateChanged?: ({
690
+ status,
691
+ }: {
692
+ status:
693
+ | 'LIVESTREAM_STARTING'
694
+ | 'LIVESTREAM_STARTED'
695
+ | 'LIVESTREAM_STOPPING'
696
+ | 'LIVESTREAM_STOPPED';
697
+ }) => void;
698
+ onMeetingStateChanged?: ({
699
+ state,
700
+ }: {
701
+ state:
702
+ | 'CONNECTING'
703
+ | 'CONNECTED'
704
+ | 'FAILED'
705
+ | 'DISCONNECTED'
706
+ | 'CLOSING'
707
+ | 'CLOSED';
708
+ }) => void;
709
+ onParticipantModeChanged?: ({
710
+ participantId,
711
+ mode,
712
+ }: {
713
+ participantId: string;
714
+ mode: 'CONFERENCE' | 'VIEWER';
715
+ }) => void;
646
716
  }): {
647
- meetingId: string;
648
- meeting: Meeting;
649
- localParticipant: Participant;
650
- activeSpeakerId: string;
651
- participants: Map<string, Participant>;
652
- pinnedParticipants: Map<
653
- string,
654
- {
655
- cam: boolean;
656
- share: boolean;
657
- }
658
- >;
659
- presenterId?: string;
660
- localMicOn: boolean;
661
- localWebcamOn: boolean;
662
- isRecording: boolean;
663
- recordingState: string;
664
- livestreamState: string;
665
- hlsState: string;
666
- hlsUrls: {
667
- downstreamUrl: string;
668
- playbackHlsUrl: string;
669
- livestreamUrl: string;
717
+ meetingId: string;
718
+ meeting: Meeting;
719
+ localParticipant: Participant;
720
+ activeSpeakerId: string;
721
+ participants: Map<string, Participant>;
722
+ pinnedParticipants: Map<
723
+ string,
724
+ {
725
+ cam: boolean;
726
+ share: boolean;
727
+ }
728
+ >;
729
+ presenterId?: string;
730
+ localMicOn: boolean;
731
+ localWebcamOn: boolean;
732
+ isRecording: boolean;
733
+ recordingState: string;
734
+ livestreamState: string;
735
+ hlsState: string;
736
+ hlsUrls: {
737
+ downstreamUrl: string;
738
+ playbackHlsUrl: string;
739
+ livestreamUrl: string;
740
+ };
741
+ localScreenShareOn: boolean;
742
+ connections: Map<string, Connection>;
743
+ join: () => void;
744
+ leave: () => void;
745
+ end: () => void;
746
+ unmuteMic: (customAudioTrack?: MediaStream | undefined) => void;
747
+ muteMic: () => void;
748
+ toggleMic: (customAudioTrack?: MediaStream | undefined) => void;
749
+ enableWebcam: (customVideoTrack?: MediaStream | undefined) => void;
750
+ disableWebcam: () => void;
751
+ toggleWebcam: (customVideoTrack?: MediaStream | undefined) => void;
752
+ enableScreenShare: (customScreenShareTrack?: MediaStream | undefined) => void;
753
+ disableScreenShare: () => void;
754
+ toggleScreenShare: (customScreenShareTrack?: MediaStream | undefined) => void;
755
+ startRecording: (
756
+ webhookUrl?: string,
757
+ awsDirPath?: string,
758
+ config?: {
759
+ layout: {
760
+ type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
761
+ priority: 'SPEAKER' | 'PIN';
762
+ gridSize: number;
763
+ };
764
+ orientation: 'landscape' | 'portrait';
765
+ theme: 'DEFAULT' | 'DARK' | 'LIGHT';
766
+ quality: 'low' | 'med' | 'high';
767
+ mode: 'video-and-audio' | 'audio';
768
+ },
769
+ ) => void;
770
+ stopRecording: () => void;
771
+ startLiveStream: (
772
+ outputs: Array<{
773
+ url: string;
774
+ streamKey: string;
775
+ }>,
776
+ config?: {
777
+ layout: {
778
+ type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
779
+ priority: 'SPEAKER' | 'PIN';
780
+ gridSize: number;
781
+ };
782
+ theme: 'DEFAULT' | 'DARK' | 'LIGHT';
783
+ },
784
+ ) => void;
785
+ stopLiveStream: () => void;
786
+ startHls: (config?: {
787
+ layout: {
788
+ type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
789
+ priority: 'SPEAKER' | 'PIN';
790
+ gridSize: number;
670
791
  };
671
- localScreenShareOn: boolean;
672
- connections: Map<string, Connection>;
673
- join: () => void;
674
- leave: () => void;
675
- end: () => void;
676
- unmuteMic: (customAudioTrack?: MediaStream | undefined) => void;
677
- muteMic: () => void;
678
- toggleMic: (customAudioTrack?: MediaStream | undefined) => void;
679
- enableWebcam: (customVideoTrack?: MediaStream | undefined) => void;
680
- disableWebcam: () => void;
681
- toggleWebcam: (customVideoTrack?: MediaStream | undefined) => void;
682
- enableScreenShare: (customScreenShareTrack?: MediaStream | undefined) => void;
683
- disableScreenShare: () => void;
684
- toggleScreenShare: (customScreenShareTrack?: MediaStream | undefined) => void;
685
- startRecording: (
686
- webhookUrl?: string,
687
- awsDirPath?: string,
688
- config?: {
689
- layout: {
690
- type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
691
- priority: 'SPEAKER' | 'PIN';
692
- gridSize: number;
693
- };
694
- orientation: 'landscape' | 'portrait';
695
- theme: 'DEFAULT' | 'DARK' | 'LIGHT';
696
- quality: 'low' | 'med' | 'high';
697
- mode: 'video-and-audio' | 'audio';
698
- },
699
- ) => void;
700
- stopRecording: () => void;
701
- startLiveStream: (
702
- outputs: Array<{
703
- url: string;
704
- streamKey: string;
705
- }>,
706
- config?: {
707
- layout: {
708
- type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
709
- priority: 'SPEAKER' | 'PIN';
710
- gridSize: number;
711
- };
712
- theme: 'DEFAULT' | 'DARK' | 'LIGHT';
713
- },
714
- ) => void;
715
- stopLiveStream: () => void;
716
- startHls: (config?: {
717
- layout: {
718
- type: 'GRID' | 'SPOTLIGHT' | 'SIDEBAR';
719
- priority: 'SPEAKER' | 'PIN';
720
- gridSize: number;
721
- };
722
- orientation: 'landscape' | 'portrait';
723
- theme: 'DEFAULT' | 'DARK' | 'LIGHT';
724
- quality: 'low' | 'med' | 'high';
725
- mode: 'video-and-audio' | 'audio';
726
- }) => void;
727
- stopHls: () => void;
728
- getMics: () => Promise<
729
- Array<{
730
- deviceId: string;
731
- label: string;
732
- }>
733
- >;
734
- getWebcams: () => Promise<
735
- Array<{
736
- deviceId: string;
737
- label: string;
738
- facingMode: 'environment' | 'front';
739
- }>
740
- >;
741
- changeMic: (object: string | MediaStream) => void;
742
- changeWebcam: (object: string | MediaStream) => void;
743
- startVideo: ({ link }: { link: string }) => void;
744
- stopVideo: () => void;
745
- pauseVideo: ({ currentTime }: { currentTime: number }) => void;
746
- resumeVideo: () => void;
747
- seekVideo: ({ currentTime }: { currentTime: number }) => void;
748
- connectTo: ({ meetingId, payload }: { meetingId: string; payload: string }) => void;
792
+ orientation: 'landscape' | 'portrait';
793
+ theme: 'DEFAULT' | 'DARK' | 'LIGHT';
794
+ quality: 'low' | 'med' | 'high';
795
+ mode: 'video-and-audio' | 'audio';
796
+ }) => void;
797
+ stopHls: () => void;
798
+ getMics: () => Promise<
799
+ Array<{
800
+ deviceId: string;
801
+ label: string;
802
+ }>
803
+ >;
804
+ getWebcams: () => Promise<
805
+ Array<{
806
+ deviceId: string;
807
+ label: string;
808
+ facingMode: 'environment' | 'front';
809
+ }>
810
+ >;
811
+ changeMic: (object: string | MediaStream) => void;
812
+ changeWebcam: (object: string | MediaStream) => void;
813
+ changeMode(mode: 'CONFERENCE' | 'VIEWER'): void;
814
+ startVideo: ({ link }: { link: string }) => void;
815
+ stopVideo: () => void;
816
+ pauseVideo: ({ currentTime }: { currentTime: number }) => void;
817
+ resumeVideo: () => void;
818
+ seekVideo: ({ currentTime }: { currentTime: number }) => void;
819
+ connectTo: ({
820
+ meetingId,
821
+ payload,
822
+ }: {
823
+ meetingId: string;
824
+ payload: string;
825
+ }) => void;
749
826
  };
750
827
 
751
828
  /**
@@ -777,47 +854,53 @@ export function useMeeting({
777
854
  * ```
778
855
  */
779
856
  export function usePubSub(
780
- topic: string,
781
- {
782
- onMessageReceived,
783
- onOldMessagesReceived,
784
- }?: {
785
- onMessageReceived?: (message: {
786
- id: string;
787
- message: string;
788
- senderId: string;
789
- senderName: string;
790
- timestamp: string;
791
- topic: string;
792
- }) => void;
793
- onOldMessagesReceived?: (
794
- messages: Array<{
795
- id: string;
796
- message: string;
797
- senderId: string;
798
- senderName: string;
799
- timestamp: string;
800
- topic: string;
801
- }>,
802
- ) => void;
803
- },
804
- ): {
805
- publish: (
806
- message: string,
807
- {
808
- persist: boolean,
809
- }: {
810
- persist: any;
811
- },
812
- ) => void;
813
- messages: Array<{
857
+ topic: string,
858
+ {
859
+ onMessageReceived,
860
+ onOldMessagesReceived,
861
+ }?: {
862
+ onMessageReceived?: (message: {
863
+ id: string;
864
+ message: string;
865
+ senderId: string;
866
+ senderName: string;
867
+ timestamp: string;
868
+ topic: string;
869
+ payload: object;
870
+ }) => void;
871
+ onOldMessagesReceived?: (
872
+ messages: Array<{
814
873
  id: string;
815
874
  message: string;
816
875
  senderId: string;
817
876
  senderName: string;
818
877
  timestamp: string;
819
878
  topic: string;
820
- }>;
879
+ payload: object;
880
+ }>,
881
+ ) => void;
882
+ },
883
+ ): {
884
+ publish: (
885
+ message: string,
886
+ {
887
+ persist,
888
+ sendOnly,
889
+ }: {
890
+ persist: boolean;
891
+ sendOnly: Array<String>;
892
+ },
893
+ payload: object,
894
+ ) => void;
895
+ messages: Array<{
896
+ id: string;
897
+ message: string;
898
+ senderId: string;
899
+ senderName: string;
900
+ timestamp: string;
901
+ topic: string;
902
+ payload: object;
903
+ }>;
821
904
  };
822
905
 
823
906
  /**
@@ -853,18 +936,18 @@ export function usePubSub(
853
936
  */
854
937
 
855
938
  export function createMicrophoneAudioTrack({
856
- noiseConfig,
857
- encoderConfig,
858
- microphoneId,
939
+ noiseConfig,
940
+ encoderConfig,
941
+ microphoneId,
859
942
  }: {
860
- noiseConfig?:
943
+ noiseConfig?:
861
944
  | {
862
945
  echoCancellation: boolean;
863
946
  autoGainControl: boolean;
864
947
  noiseSuppression: boolean;
865
- }
948
+ }
866
949
  | undefined;
867
- encoderConfig?:
950
+ encoderConfig?:
868
951
  | 'speech_low_quality'
869
952
  | 'speech_standard'
870
953
  | 'music_standard'
@@ -872,7 +955,7 @@ export function createMicrophoneAudioTrack({
872
955
  | 'high_quality'
873
956
  | 'high_quality_stereo'
874
957
  | undefined;
875
- microphoneId?: string | undefined;
958
+ microphoneId?: string | undefined;
876
959
  }): Promise<MediaStream>;
877
960
 
878
961
  /**
@@ -910,14 +993,14 @@ export function createMicrophoneAudioTrack({
910
993
  * ```
911
994
  */
912
995
  export function createCameraVideoTrack({
913
- cameraId,
914
- encoderConfig,
915
- facingMode,
916
- optimizationMode,
917
- multiStream,
996
+ cameraId,
997
+ encoderConfig,
998
+ facingMode,
999
+ optimizationMode,
1000
+ multiStream,
918
1001
  }: {
919
- cameraId?: string | undefined;
920
- encoderConfig?:
1002
+ cameraId?: string | undefined;
1003
+ encoderConfig?:
921
1004
  | 'h90p_w160p'
922
1005
  | 'h180p_w320p'
923
1006
  | 'h216p_w384p'
@@ -937,9 +1020,9 @@ export function createCameraVideoTrack({
937
1020
  | 'h1080p_w1440p'
938
1021
  | 'h1440p_w1920p'
939
1022
  | undefined;
940
- facingMode?: 'user' | 'environment' | undefined;
941
- optimizationMode?: 'text' | 'motion' | 'detail' | undefined;
942
- multiStream?: boolean;
1023
+ facingMode?: 'user' | 'environment' | undefined;
1024
+ optimizationMode?: 'text' | 'motion' | 'detail' | undefined;
1025
+ multiStream?: boolean;
943
1026
  }): Promise<MediaStream>;
944
1027
 
945
1028
  /**
@@ -969,65 +1052,71 @@ export function createCameraVideoTrack({
969
1052
  * ```
970
1053
  */
971
1054
  export function createScreenShareVideoTrack({
972
- encoderConfig,
973
- optimizationMode,
974
- withAudio,
1055
+ encoderConfig,
1056
+ optimizationMode,
1057
+ withAudio,
975
1058
  }: {
976
- encoderConfig?: 'h360p_30fps' | 'h720p_5fps' | 'h720p_15fps' | 'h1080p_15fps' | 'h1080p_30fps' | undefined;
977
- optimizationMode?: 'text' | 'motion' | 'detail' | undefined;
978
- withAudio?: 'enable' | 'disable';
1059
+ encoderConfig?:
1060
+ | 'h360p_30fps'
1061
+ | 'h720p_5fps'
1062
+ | 'h720p_15fps'
1063
+ | 'h1080p_15fps'
1064
+ | 'h1080p_30fps'
1065
+ | undefined;
1066
+ optimizationMode?: 'text' | 'motion' | 'detail' | undefined;
1067
+ withAudio?: 'enable' | 'disable';
979
1068
  }): Promise<MediaStream>;
980
1069
 
981
1070
  export const Constants: {
982
- errors: {
983
- INVALID_API_KEY: number;
984
- INVALID_TOKEN: number;
985
- INVALID_MEETING_ID: number;
986
- INVALID_PARTICIPANT_ID: number;
987
- DUPLICATE_PARTICIPANT: number;
988
- ACCOUNT_DEACTIVATED: number;
989
- ACCOUNT_DISCONTINUED: number;
990
- INVALID_PERMISSIONS: number;
991
- MAX_PARTCIPANT_REACHED: number;
992
- MAX_SPEAKER_REACHED: number;
993
- START_RECORDING_FAILED: number;
994
- STOP_RECORDING_FAILED: number;
995
- START_LIVESTREAM_FAILED: number;
996
- STOP_LIVESTREAM_FAILED: number;
997
- INVALID_LIVESTREAM_CONFIG: number;
998
- START_HLS_FAILED: number;
999
- STOP_HLS_FAILED: number;
1000
- RECORDING_FAILED: number;
1001
- LIVESTREAM_FAILED: number;
1002
- HLS_FAILED: number;
1003
- ERROR_GET_VIDEO_MEDIA: number;
1004
- ERROR_GET_AUDIO_MEDIA: number;
1005
- ERROR_GET_DISPLAY_MEDIA: number;
1006
- ERROR_GET_VIDEO_MEDIA_PERMISSION_DENIED: number;
1007
- ERROR_GET_AUDIO_MEDIA_PERMISSION_DENIED: number;
1008
- ERROR_GET_DISPLAY_MEDIA_PERMISSION_DENIED: number;
1009
- };
1010
- recordingEvents: {
1011
- RECORDING_STARTING: string;
1012
- RECORDING_STARTED: string;
1013
- RECORDING_STOPPING: string;
1014
- RECORDING_STOPPED: string;
1015
- };
1016
- livestreamEvents: {
1017
- LIVESTREAM_STARTING: string;
1018
- LIVESTREAM_STARTED: string;
1019
- LIVESTREAM_STOPPING: string;
1020
- LIVESTREAM_STOPPED: string;
1021
- };
1022
- hlsEvents: {
1023
- HLS_STARTING: string;
1024
- HLS_STARTED: string;
1025
- HLS_PLAYABLE: string;
1026
- HLS_STOPPING: string;
1027
- HLS_STOPPED: string;
1028
- };
1029
- modes: {
1030
- CONFERENCE: string;
1031
- VIEWER: string;
1032
- };
1071
+ errors: {
1072
+ INVALID_API_KEY: number;
1073
+ INVALID_TOKEN: number;
1074
+ INVALID_MEETING_ID: number;
1075
+ INVALID_PARTICIPANT_ID: number;
1076
+ DUPLICATE_PARTICIPANT: number;
1077
+ ACCOUNT_DEACTIVATED: number;
1078
+ ACCOUNT_DISCONTINUED: number;
1079
+ INVALID_PERMISSIONS: number;
1080
+ MAX_PARTCIPANT_REACHED: number;
1081
+ MAX_SPEAKER_REACHED: number;
1082
+ START_RECORDING_FAILED: number;
1083
+ STOP_RECORDING_FAILED: number;
1084
+ START_LIVESTREAM_FAILED: number;
1085
+ STOP_LIVESTREAM_FAILED: number;
1086
+ INVALID_LIVESTREAM_CONFIG: number;
1087
+ START_HLS_FAILED: number;
1088
+ STOP_HLS_FAILED: number;
1089
+ RECORDING_FAILED: number;
1090
+ LIVESTREAM_FAILED: number;
1091
+ HLS_FAILED: number;
1092
+ ERROR_GET_VIDEO_MEDIA: number;
1093
+ ERROR_GET_AUDIO_MEDIA: number;
1094
+ ERROR_GET_DISPLAY_MEDIA: number;
1095
+ ERROR_GET_VIDEO_MEDIA_PERMISSION_DENIED: number;
1096
+ ERROR_GET_AUDIO_MEDIA_PERMISSION_DENIED: number;
1097
+ ERROR_GET_DISPLAY_MEDIA_PERMISSION_DENIED: number;
1098
+ };
1099
+ recordingEvents: {
1100
+ RECORDING_STARTING: string;
1101
+ RECORDING_STARTED: string;
1102
+ RECORDING_STOPPING: string;
1103
+ RECORDING_STOPPED: string;
1104
+ };
1105
+ livestreamEvents: {
1106
+ LIVESTREAM_STARTING: string;
1107
+ LIVESTREAM_STARTED: string;
1108
+ LIVESTREAM_STOPPING: string;
1109
+ LIVESTREAM_STOPPED: string;
1110
+ };
1111
+ hlsEvents: {
1112
+ HLS_STARTING: string;
1113
+ HLS_STARTED: string;
1114
+ HLS_PLAYABLE: string;
1115
+ HLS_STOPPING: string;
1116
+ HLS_STOPPED: string;
1117
+ };
1118
+ modes: {
1119
+ CONFERENCE: string;
1120
+ VIEWER: string;
1121
+ };
1033
1122
  };