@stream-io/video-client 0.1.3 → 0.1.4

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.
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- // @generated by protobuf-ts 2.8.1 with parameter long_type_string,client_generic,server_none,eslint_disable
2
+ // @generated by protobuf-ts 2.9.0 with parameter long_type_string,client_generic,server_none,eslint_disable
3
3
  // @generated from protobuf file "video/sfu/event/events.proto" (package "stream.video.sfu.event", syntax proto3)
4
4
  // tslint:disable
5
5
  import type {
@@ -209,6 +209,15 @@ export interface SfuEvent {
209
209
  */
210
210
  goAway: GoAway;
211
211
  }
212
+ | {
213
+ oneofKind: 'iceRestart';
214
+ /**
215
+ * ICERestart tells the client to perform ICE restart.
216
+ *
217
+ * @generated from protobuf field: stream.video.sfu.event.ICERestart ice_restart = 21;
218
+ */
219
+ iceRestart: ICERestart;
220
+ }
212
221
  | {
213
222
  oneofKind: undefined;
214
223
  };
@@ -235,6 +244,15 @@ export interface ICETrickle {
235
244
  */
236
245
  iceCandidate: string;
237
246
  }
247
+ /**
248
+ * @generated from protobuf message stream.video.sfu.event.ICERestart
249
+ */
250
+ export interface ICERestart {
251
+ /**
252
+ * @generated from protobuf field: stream.video.sfu.models.PeerType peer_type = 1;
253
+ */
254
+ peerType: PeerType;
255
+ }
238
256
  /**
239
257
  * SfuRequest is a message that is sent from the client to the SFU.
240
258
  *
@@ -363,6 +381,20 @@ export interface JoinRequest {
363
381
  * @generated from protobuf field: stream.video.sfu.event.Migration migration = 5;
364
382
  */
365
383
  migration?: Migration;
384
+ /**
385
+ * Fast reconnect flag explicitly indicates that if the participant session
386
+ * and the associated state is still present in the SFU, the client is ready
387
+ * to restore the PeerConnection with an ICE restart. If the SFU replies with
388
+ * "reconnected: true" in its JoinResponse, then it is safe to perform an ICE
389
+ * restart or else the existing PeerConnections must be cleaned up.
390
+ *
391
+ * For the SFU, fast_reconnect:false indicates that even if it has the state
392
+ * cached, the client state is not in sync and hence it must be cleaned up before
393
+ * proceeding further.
394
+ *
395
+ * @generated from protobuf field: bool fast_reconnect = 6;
396
+ */
397
+ fastReconnect: boolean;
366
398
  }
367
399
  /**
368
400
  * @generated from protobuf message stream.video.sfu.event.Migration
@@ -386,11 +418,13 @@ export interface Migration {
386
418
  */
387
419
  export interface JoinResponse {
388
420
  /**
389
- * TODO: include full list of participants with track and audio info
390
- *
391
421
  * @generated from protobuf field: stream.video.sfu.models.CallState call_state = 1;
392
422
  */
393
423
  callState?: CallState;
424
+ /**
425
+ * @generated from protobuf field: bool reconnected = 2;
426
+ */
427
+ reconnected: boolean;
394
428
  }
395
429
  /**
396
430
  * ParticipantJoined is fired when a user joins a call
@@ -803,6 +837,13 @@ class SfuEvent$Type extends MessageType<SfuEvent> {
803
837
  oneof: 'eventPayload',
804
838
  T: () => GoAway,
805
839
  },
840
+ {
841
+ no: 21,
842
+ name: 'ice_restart',
843
+ kind: 'message',
844
+ oneof: 'eventPayload',
845
+ T: () => ICERestart,
846
+ },
806
847
  ]);
807
848
  }
808
849
  create(value?: PartialMessage<SfuEvent>): SfuEvent {
@@ -1003,6 +1044,17 @@ class SfuEvent$Type extends MessageType<SfuEvent> {
1003
1044
  ),
1004
1045
  };
1005
1046
  break;
1047
+ case /* stream.video.sfu.event.ICERestart ice_restart */ 21:
1048
+ message.eventPayload = {
1049
+ oneofKind: 'iceRestart',
1050
+ iceRestart: ICERestart.internalBinaryRead(
1051
+ reader,
1052
+ reader.uint32(),
1053
+ options,
1054
+ (message.eventPayload as any).iceRestart,
1055
+ ),
1056
+ };
1057
+ break;
1006
1058
  default:
1007
1059
  let u = options.readUnknownField;
1008
1060
  if (u === 'throw')
@@ -1139,6 +1191,13 @@ class SfuEvent$Type extends MessageType<SfuEvent> {
1139
1191
  writer.tag(20, WireType.LengthDelimited).fork(),
1140
1192
  options,
1141
1193
  ).join();
1194
+ /* stream.video.sfu.event.ICERestart ice_restart = 21; */
1195
+ if (message.eventPayload.oneofKind === 'iceRestart')
1196
+ ICERestart.internalBinaryWrite(
1197
+ message.eventPayload.iceRestart,
1198
+ writer.tag(21, WireType.LengthDelimited).fork(),
1199
+ options,
1200
+ ).join();
1142
1201
  let u = options.writeUnknownFields;
1143
1202
  if (u !== false)
1144
1203
  (u == true ? UnknownFieldHandler.onWrite : u)(
@@ -1324,6 +1383,83 @@ class ICETrickle$Type extends MessageType<ICETrickle> {
1324
1383
  */
1325
1384
  export const ICETrickle = new ICETrickle$Type();
1326
1385
  // @generated message type with reflection information, may provide speed optimized methods
1386
+ class ICERestart$Type extends MessageType<ICERestart> {
1387
+ constructor() {
1388
+ super('stream.video.sfu.event.ICERestart', [
1389
+ {
1390
+ no: 1,
1391
+ name: 'peer_type',
1392
+ kind: 'enum',
1393
+ T: () => ['stream.video.sfu.models.PeerType', PeerType, 'PEER_TYPE_'],
1394
+ },
1395
+ ]);
1396
+ }
1397
+ create(value?: PartialMessage<ICERestart>): ICERestart {
1398
+ const message = { peerType: 0 };
1399
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, {
1400
+ enumerable: false,
1401
+ value: this,
1402
+ });
1403
+ if (value !== undefined)
1404
+ reflectionMergePartial<ICERestart>(this, message, value);
1405
+ return message;
1406
+ }
1407
+ internalBinaryRead(
1408
+ reader: IBinaryReader,
1409
+ length: number,
1410
+ options: BinaryReadOptions,
1411
+ target?: ICERestart,
1412
+ ): ICERestart {
1413
+ let message = target ?? this.create(),
1414
+ end = reader.pos + length;
1415
+ while (reader.pos < end) {
1416
+ let [fieldNo, wireType] = reader.tag();
1417
+ switch (fieldNo) {
1418
+ case /* stream.video.sfu.models.PeerType peer_type */ 1:
1419
+ message.peerType = reader.int32();
1420
+ break;
1421
+ default:
1422
+ let u = options.readUnknownField;
1423
+ if (u === 'throw')
1424
+ throw new globalThis.Error(
1425
+ `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`,
1426
+ );
1427
+ let d = reader.skip(wireType);
1428
+ if (u !== false)
1429
+ (u === true ? UnknownFieldHandler.onRead : u)(
1430
+ this.typeName,
1431
+ message,
1432
+ fieldNo,
1433
+ wireType,
1434
+ d,
1435
+ );
1436
+ }
1437
+ }
1438
+ return message;
1439
+ }
1440
+ internalBinaryWrite(
1441
+ message: ICERestart,
1442
+ writer: IBinaryWriter,
1443
+ options: BinaryWriteOptions,
1444
+ ): IBinaryWriter {
1445
+ /* stream.video.sfu.models.PeerType peer_type = 1; */
1446
+ if (message.peerType !== 0)
1447
+ writer.tag(1, WireType.Varint).int32(message.peerType);
1448
+ let u = options.writeUnknownFields;
1449
+ if (u !== false)
1450
+ (u == true ? UnknownFieldHandler.onWrite : u)(
1451
+ this.typeName,
1452
+ message,
1453
+ writer,
1454
+ );
1455
+ return writer;
1456
+ }
1457
+ }
1458
+ /**
1459
+ * @generated MessageType for protobuf message stream.video.sfu.event.ICERestart
1460
+ */
1461
+ export const ICERestart = new ICERestart$Type();
1462
+ // @generated message type with reflection information, may provide speed optimized methods
1327
1463
  class SfuRequest$Type extends MessageType<SfuRequest> {
1328
1464
  constructor() {
1329
1465
  super('stream.video.sfu.event.SfuRequest', [
@@ -1821,10 +1957,21 @@ class JoinRequest$Type extends MessageType<JoinRequest> {
1821
1957
  T: () => ClientDetails,
1822
1958
  },
1823
1959
  { no: 5, name: 'migration', kind: 'message', T: () => Migration },
1960
+ {
1961
+ no: 6,
1962
+ name: 'fast_reconnect',
1963
+ kind: 'scalar',
1964
+ T: 8 /*ScalarType.BOOL*/,
1965
+ },
1824
1966
  ]);
1825
1967
  }
1826
1968
  create(value?: PartialMessage<JoinRequest>): JoinRequest {
1827
- const message = { token: '', sessionId: '', subscriberSdp: '' };
1969
+ const message = {
1970
+ token: '',
1971
+ sessionId: '',
1972
+ subscriberSdp: '',
1973
+ fastReconnect: false,
1974
+ };
1828
1975
  globalThis.Object.defineProperty(message, MESSAGE_TYPE, {
1829
1976
  enumerable: false,
1830
1977
  value: this,
@@ -1869,6 +2016,9 @@ class JoinRequest$Type extends MessageType<JoinRequest> {
1869
2016
  message.migration,
1870
2017
  );
1871
2018
  break;
2019
+ case /* bool fast_reconnect */ 6:
2020
+ message.fastReconnect = reader.bool();
2021
+ break;
1872
2022
  default:
1873
2023
  let u = options.readUnknownField;
1874
2024
  if (u === 'throw')
@@ -1916,6 +2066,9 @@ class JoinRequest$Type extends MessageType<JoinRequest> {
1916
2066
  writer.tag(5, WireType.LengthDelimited).fork(),
1917
2067
  options,
1918
2068
  ).join();
2069
+ /* bool fast_reconnect = 6; */
2070
+ if (message.fastReconnect !== false)
2071
+ writer.tag(6, WireType.Varint).bool(message.fastReconnect);
1919
2072
  let u = options.writeUnknownFields;
1920
2073
  if (u !== false)
1921
2074
  (u == true ? UnknownFieldHandler.onWrite : u)(
@@ -2054,10 +2207,11 @@ class JoinResponse$Type extends MessageType<JoinResponse> {
2054
2207
  constructor() {
2055
2208
  super('stream.video.sfu.event.JoinResponse', [
2056
2209
  { no: 1, name: 'call_state', kind: 'message', T: () => CallState },
2210
+ { no: 2, name: 'reconnected', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
2057
2211
  ]);
2058
2212
  }
2059
2213
  create(value?: PartialMessage<JoinResponse>): JoinResponse {
2060
- const message = {};
2214
+ const message = { reconnected: false };
2061
2215
  globalThis.Object.defineProperty(message, MESSAGE_TYPE, {
2062
2216
  enumerable: false,
2063
2217
  value: this,
@@ -2085,6 +2239,9 @@ class JoinResponse$Type extends MessageType<JoinResponse> {
2085
2239
  message.callState,
2086
2240
  );
2087
2241
  break;
2242
+ case /* bool reconnected */ 2:
2243
+ message.reconnected = reader.bool();
2244
+ break;
2088
2245
  default:
2089
2246
  let u = options.readUnknownField;
2090
2247
  if (u === 'throw')
@@ -2116,6 +2273,9 @@ class JoinResponse$Type extends MessageType<JoinResponse> {
2116
2273
  writer.tag(1, WireType.LengthDelimited).fork(),
2117
2274
  options,
2118
2275
  ).join();
2276
+ /* bool reconnected = 2; */
2277
+ if (message.reconnected !== false)
2278
+ writer.tag(2, WireType.Varint).bool(message.reconnected);
2119
2279
  let u = options.writeUnknownFields;
2120
2280
  if (u !== false)
2121
2281
  (u == true ? UnknownFieldHandler.onWrite : u)(
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- // @generated by protobuf-ts 2.8.1 with parameter long_type_string,client_generic,server_none,eslint_disable
2
+ // @generated by protobuf-ts 2.9.0 with parameter long_type_string,client_generic,server_none,eslint_disable
3
3
  // @generated from protobuf file "video/sfu/models/models.proto" (package "stream.video.sfu.models", syntax proto3)
4
4
  // tslint:disable
5
5
  import type {
@@ -551,6 +551,18 @@ export enum ErrorCode {
551
551
  * @generated from protobuf enum value: ERROR_CODE_PARTICIPANT_MIGRATION_FAILED = 202;
552
552
  */
553
553
  PARTICIPANT_MIGRATION_FAILED = 202,
554
+ /**
555
+ * @generated from protobuf enum value: ERROR_CODE_PARTICIPANT_MIGRATING = 203;
556
+ */
557
+ PARTICIPANT_MIGRATING = 203,
558
+ /**
559
+ * @generated from protobuf enum value: ERROR_CODE_PARTICIPANT_RECONNECT_FAILED = 204;
560
+ */
561
+ PARTICIPANT_RECONNECT_FAILED = 204,
562
+ /**
563
+ * @generated from protobuf enum value: ERROR_CODE_PARTICIPANT_MEDIA_TRANSPORT_FAILURE = 205;
564
+ */
565
+ PARTICIPANT_MEDIA_TRANSPORT_FAILURE = 205,
554
566
  /**
555
567
  * @generated from protobuf enum value: ERROR_CODE_CALL_NOT_FOUND = 300;
556
568
  */
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- // @generated by protobuf-ts 2.8.1 with parameter long_type_string,client_generic,server_none,eslint_disable
2
+ // @generated by protobuf-ts 2.9.0 with parameter long_type_string,client_generic,server_none,eslint_disable
3
3
  // @generated from protobuf file "video/sfu/signal_rpc/signal.proto" (package "stream.video.sfu.signal", syntax proto3)
4
4
  // tslint:disable
5
5
  import type {
@@ -10,6 +10,8 @@ import type {
10
10
  } from '@protobuf-ts/runtime-rpc';
11
11
  import { stackIntercept } from '@protobuf-ts/runtime-rpc';
12
12
  import type {
13
+ ICERestartRequest,
14
+ ICERestartResponse,
13
15
  ICETrickleResponse,
14
16
  SendAnswerRequest,
15
17
  SendAnswerResponse,
@@ -71,6 +73,13 @@ export interface ISignalServerClient {
71
73
  input: UpdateMuteStatesRequest,
72
74
  options?: RpcOptions,
73
75
  ): UnaryCall<UpdateMuteStatesRequest, UpdateMuteStatesResponse>;
76
+ /**
77
+ * @generated from protobuf rpc: IceRestart(stream.video.sfu.signal.ICERestartRequest) returns (stream.video.sfu.signal.ICERestartResponse);
78
+ */
79
+ iceRestart(
80
+ input: ICERestartRequest,
81
+ options?: RpcOptions,
82
+ ): UnaryCall<ICERestartRequest, ICERestartResponse>;
74
83
  }
75
84
  /**
76
85
  * @generated from protobuf service stream.video.sfu.signal.SignalServer
@@ -171,4 +180,21 @@ export class SignalServerClient implements ISignalServerClient, ServiceInfo {
171
180
  input,
172
181
  );
173
182
  }
183
+ /**
184
+ * @generated from protobuf rpc: IceRestart(stream.video.sfu.signal.ICERestartRequest) returns (stream.video.sfu.signal.ICERestartResponse);
185
+ */
186
+ iceRestart(
187
+ input: ICERestartRequest,
188
+ options?: RpcOptions,
189
+ ): UnaryCall<ICERestartRequest, ICERestartResponse> {
190
+ const method = this.methods[5],
191
+ opt = this._transport.mergeOptions(options);
192
+ return stackIntercept<ICERestartRequest, ICERestartResponse>(
193
+ 'unary',
194
+ this._transport,
195
+ method,
196
+ opt,
197
+ input,
198
+ );
199
+ }
174
200
  }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- // @generated by protobuf-ts 2.8.1 with parameter long_type_string,client_generic,server_none,eslint_disable
2
+ // @generated by protobuf-ts 2.9.0 with parameter long_type_string,client_generic,server_none,eslint_disable
3
3
  // @generated from protobuf file "video/sfu/signal_rpc/signal.proto" (package "stream.video.sfu.signal", syntax proto3)
4
4
  // tslint:disable
5
5
  import {
@@ -26,6 +26,28 @@ import {
26
26
  WireType,
27
27
  } from '@protobuf-ts/runtime';
28
28
 
29
+ /**
30
+ * @generated from protobuf message stream.video.sfu.signal.ICERestartRequest
31
+ */
32
+ export interface ICERestartRequest {
33
+ /**
34
+ * @generated from protobuf field: string session_id = 1;
35
+ */
36
+ sessionId: string;
37
+ /**
38
+ * @generated from protobuf field: stream.video.sfu.models.PeerType peer_type = 2;
39
+ */
40
+ peerType: PeerType;
41
+ }
42
+ /**
43
+ * @generated from protobuf message stream.video.sfu.signal.ICERestartResponse
44
+ */
45
+ export interface ICERestartResponse {
46
+ /**
47
+ * @generated from protobuf field: stream.video.sfu.models.Error error = 1;
48
+ */
49
+ error?: Error;
50
+ }
29
51
  /**
30
52
  * @generated from protobuf message stream.video.sfu.signal.UpdateMuteStatesRequest
31
53
  */
@@ -200,6 +222,171 @@ export interface SetPublisherResponse {
200
222
  error?: Error;
201
223
  }
202
224
  // @generated message type with reflection information, may provide speed optimized methods
225
+ class ICERestartRequest$Type extends MessageType<ICERestartRequest> {
226
+ constructor() {
227
+ super('stream.video.sfu.signal.ICERestartRequest', [
228
+ { no: 1, name: 'session_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },
229
+ {
230
+ no: 2,
231
+ name: 'peer_type',
232
+ kind: 'enum',
233
+ T: () => ['stream.video.sfu.models.PeerType', PeerType, 'PEER_TYPE_'],
234
+ },
235
+ ]);
236
+ }
237
+ create(value?: PartialMessage<ICERestartRequest>): ICERestartRequest {
238
+ const message = { sessionId: '', peerType: 0 };
239
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, {
240
+ enumerable: false,
241
+ value: this,
242
+ });
243
+ if (value !== undefined)
244
+ reflectionMergePartial<ICERestartRequest>(this, message, value);
245
+ return message;
246
+ }
247
+ internalBinaryRead(
248
+ reader: IBinaryReader,
249
+ length: number,
250
+ options: BinaryReadOptions,
251
+ target?: ICERestartRequest,
252
+ ): ICERestartRequest {
253
+ let message = target ?? this.create(),
254
+ end = reader.pos + length;
255
+ while (reader.pos < end) {
256
+ let [fieldNo, wireType] = reader.tag();
257
+ switch (fieldNo) {
258
+ case /* string session_id */ 1:
259
+ message.sessionId = reader.string();
260
+ break;
261
+ case /* stream.video.sfu.models.PeerType peer_type */ 2:
262
+ message.peerType = reader.int32();
263
+ break;
264
+ default:
265
+ let u = options.readUnknownField;
266
+ if (u === 'throw')
267
+ throw new globalThis.Error(
268
+ `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`,
269
+ );
270
+ let d = reader.skip(wireType);
271
+ if (u !== false)
272
+ (u === true ? UnknownFieldHandler.onRead : u)(
273
+ this.typeName,
274
+ message,
275
+ fieldNo,
276
+ wireType,
277
+ d,
278
+ );
279
+ }
280
+ }
281
+ return message;
282
+ }
283
+ internalBinaryWrite(
284
+ message: ICERestartRequest,
285
+ writer: IBinaryWriter,
286
+ options: BinaryWriteOptions,
287
+ ): IBinaryWriter {
288
+ /* string session_id = 1; */
289
+ if (message.sessionId !== '')
290
+ writer.tag(1, WireType.LengthDelimited).string(message.sessionId);
291
+ /* stream.video.sfu.models.PeerType peer_type = 2; */
292
+ if (message.peerType !== 0)
293
+ writer.tag(2, WireType.Varint).int32(message.peerType);
294
+ let u = options.writeUnknownFields;
295
+ if (u !== false)
296
+ (u == true ? UnknownFieldHandler.onWrite : u)(
297
+ this.typeName,
298
+ message,
299
+ writer,
300
+ );
301
+ return writer;
302
+ }
303
+ }
304
+ /**
305
+ * @generated MessageType for protobuf message stream.video.sfu.signal.ICERestartRequest
306
+ */
307
+ export const ICERestartRequest = new ICERestartRequest$Type();
308
+ // @generated message type with reflection information, may provide speed optimized methods
309
+ class ICERestartResponse$Type extends MessageType<ICERestartResponse> {
310
+ constructor() {
311
+ super('stream.video.sfu.signal.ICERestartResponse', [
312
+ { no: 1, name: 'error', kind: 'message', T: () => Error },
313
+ ]);
314
+ }
315
+ create(value?: PartialMessage<ICERestartResponse>): ICERestartResponse {
316
+ const message = {};
317
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, {
318
+ enumerable: false,
319
+ value: this,
320
+ });
321
+ if (value !== undefined)
322
+ reflectionMergePartial<ICERestartResponse>(this, message, value);
323
+ return message;
324
+ }
325
+ internalBinaryRead(
326
+ reader: IBinaryReader,
327
+ length: number,
328
+ options: BinaryReadOptions,
329
+ target?: ICERestartResponse,
330
+ ): ICERestartResponse {
331
+ let message = target ?? this.create(),
332
+ end = reader.pos + length;
333
+ while (reader.pos < end) {
334
+ let [fieldNo, wireType] = reader.tag();
335
+ switch (fieldNo) {
336
+ case /* stream.video.sfu.models.Error error */ 1:
337
+ message.error = Error.internalBinaryRead(
338
+ reader,
339
+ reader.uint32(),
340
+ options,
341
+ message.error,
342
+ );
343
+ break;
344
+ default:
345
+ let u = options.readUnknownField;
346
+ if (u === 'throw')
347
+ throw new globalThis.Error(
348
+ `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`,
349
+ );
350
+ let d = reader.skip(wireType);
351
+ if (u !== false)
352
+ (u === true ? UnknownFieldHandler.onRead : u)(
353
+ this.typeName,
354
+ message,
355
+ fieldNo,
356
+ wireType,
357
+ d,
358
+ );
359
+ }
360
+ }
361
+ return message;
362
+ }
363
+ internalBinaryWrite(
364
+ message: ICERestartResponse,
365
+ writer: IBinaryWriter,
366
+ options: BinaryWriteOptions,
367
+ ): IBinaryWriter {
368
+ /* stream.video.sfu.models.Error error = 1; */
369
+ if (message.error)
370
+ Error.internalBinaryWrite(
371
+ message.error,
372
+ writer.tag(1, WireType.LengthDelimited).fork(),
373
+ options,
374
+ ).join();
375
+ let u = options.writeUnknownFields;
376
+ if (u !== false)
377
+ (u == true ? UnknownFieldHandler.onWrite : u)(
378
+ this.typeName,
379
+ message,
380
+ writer,
381
+ );
382
+ return writer;
383
+ }
384
+ }
385
+ /**
386
+ * @generated MessageType for protobuf message stream.video.sfu.signal.ICERestartResponse
387
+ */
388
+ export const ICERestartResponse = new ICERestartResponse$Type();
389
+ // @generated message type with reflection information, may provide speed optimized methods
203
390
  class UpdateMuteStatesRequest$Type extends MessageType<UpdateMuteStatesRequest> {
204
391
  constructor() {
205
392
  super('stream.video.sfu.signal.UpdateMuteStatesRequest', [
@@ -1385,5 +1572,11 @@ export const SignalServer = new ServiceType(
1385
1572
  I: UpdateMuteStatesRequest,
1386
1573
  O: UpdateMuteStatesResponse,
1387
1574
  },
1575
+ {
1576
+ name: 'IceRestart',
1577
+ options: {},
1578
+ I: ICERestartRequest,
1579
+ O: ICERestartResponse,
1580
+ },
1388
1581
  ],
1389
1582
  );
@@ -21,6 +21,7 @@ const sfuEventKinds: { [key in SfuEventKinds]: undefined } = {
21
21
  error: undefined,
22
22
  callGrantsUpdated: undefined,
23
23
  goAway: undefined,
24
+ iceRestart: undefined,
24
25
  };
25
26
 
26
27
  export const isSfuEvent = (