livekit-client 0.17.3 → 0.17.6-rc1

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 (155) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +26 -20
  3. package/dist/api/SignalClient.d.ts +1 -0
  4. package/dist/connect.d.ts +2 -0
  5. package/dist/index.d.ts +2 -2
  6. package/dist/livekit-client.esm.js +17344 -0
  7. package/dist/livekit-client.esm.js.map +1 -0
  8. package/dist/livekit-client.umd.js +17388 -0
  9. package/dist/livekit-client.umd.js.map +1 -0
  10. package/dist/logger.d.ts +22 -11
  11. package/dist/options.d.ts +4 -2
  12. package/dist/proto/google/protobuf/timestamp.d.ts +12 -2
  13. package/dist/proto/livekit_models.d.ts +524 -17
  14. package/dist/proto/livekit_rtc.d.ts +3449 -31
  15. package/dist/room/DeviceManager.d.ts +1 -1
  16. package/dist/room/RTCEngine.d.ts +1 -1
  17. package/dist/room/Room.d.ts +2 -2
  18. package/dist/room/events.d.ts +1 -1
  19. package/dist/room/participant/LocalParticipant.d.ts +9 -5
  20. package/dist/room/participant/RemoteParticipant.d.ts +9 -0
  21. package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
  22. package/dist/room/track/options.d.ts +1 -1
  23. package/dist/test/mocks.d.ts +11 -0
  24. package/dist/version.d.ts +1 -1
  25. package/package.json +41 -16
  26. package/.eslintrc.js +0 -17
  27. package/.gitmodules +0 -3
  28. package/dist/api/RequestQueue.js +0 -61
  29. package/dist/api/RequestQueue.js.map +0 -1
  30. package/dist/api/SignalClient.js +0 -428
  31. package/dist/api/SignalClient.js.map +0 -1
  32. package/dist/connect.js +0 -130
  33. package/dist/connect.js.map +0 -1
  34. package/dist/index.js +0 -71
  35. package/dist/index.js.map +0 -1
  36. package/dist/logger.js +0 -24
  37. package/dist/logger.js.map +0 -1
  38. package/dist/options.js +0 -3
  39. package/dist/options.js.map +0 -1
  40. package/dist/proto/google/protobuf/timestamp.js +0 -93
  41. package/dist/proto/google/protobuf/timestamp.js.map +0 -1
  42. package/dist/proto/livekit_models.js +0 -2688
  43. package/dist/proto/livekit_models.js.map +0 -1
  44. package/dist/proto/livekit_rtc.js +0 -2995
  45. package/dist/proto/livekit_rtc.js.map +0 -1
  46. package/dist/room/DeviceManager.js +0 -62
  47. package/dist/room/DeviceManager.js.map +0 -1
  48. package/dist/room/PCTransport.js +0 -91
  49. package/dist/room/PCTransport.js.map +0 -1
  50. package/dist/room/RTCEngine.js +0 -562
  51. package/dist/room/RTCEngine.js.map +0 -1
  52. package/dist/room/Room.js +0 -759
  53. package/dist/room/Room.js.map +0 -1
  54. package/dist/room/errors.js +0 -68
  55. package/dist/room/errors.js.map +0 -1
  56. package/dist/room/events.js +0 -385
  57. package/dist/room/events.js.map +0 -1
  58. package/dist/room/participant/LocalParticipant.js +0 -647
  59. package/dist/room/participant/LocalParticipant.js.map +0 -1
  60. package/dist/room/participant/Participant.js +0 -189
  61. package/dist/room/participant/Participant.js.map +0 -1
  62. package/dist/room/participant/ParticipantTrackPermission.js +0 -16
  63. package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
  64. package/dist/room/participant/RemoteParticipant.js +0 -194
  65. package/dist/room/participant/RemoteParticipant.js.map +0 -1
  66. package/dist/room/participant/publishUtils.js +0 -189
  67. package/dist/room/participant/publishUtils.js.map +0 -1
  68. package/dist/room/participant/publishUtils.test.d.ts +0 -1
  69. package/dist/room/participant/publishUtils.test.js +0 -118
  70. package/dist/room/participant/publishUtils.test.js.map +0 -1
  71. package/dist/room/stats.js +0 -26
  72. package/dist/room/stats.js.map +0 -1
  73. package/dist/room/track/LocalAudioTrack.js +0 -153
  74. package/dist/room/track/LocalAudioTrack.js.map +0 -1
  75. package/dist/room/track/LocalTrack.js +0 -158
  76. package/dist/room/track/LocalTrack.js.map +0 -1
  77. package/dist/room/track/LocalTrackPublication.js +0 -64
  78. package/dist/room/track/LocalTrackPublication.js.map +0 -1
  79. package/dist/room/track/LocalVideoTrack.js +0 -297
  80. package/dist/room/track/LocalVideoTrack.js.map +0 -1
  81. package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
  82. package/dist/room/track/LocalVideoTrack.test.js +0 -68
  83. package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
  84. package/dist/room/track/RemoteAudioTrack.js +0 -64
  85. package/dist/room/track/RemoteAudioTrack.js.map +0 -1
  86. package/dist/room/track/RemoteTrack.js +0 -49
  87. package/dist/room/track/RemoteTrack.js.map +0 -1
  88. package/dist/room/track/RemoteTrackPublication.js +0 -178
  89. package/dist/room/track/RemoteTrackPublication.js.map +0 -1
  90. package/dist/room/track/RemoteVideoTrack.js +0 -201
  91. package/dist/room/track/RemoteVideoTrack.js.map +0 -1
  92. package/dist/room/track/Track.js +0 -276
  93. package/dist/room/track/Track.js.map +0 -1
  94. package/dist/room/track/TrackPublication.js +0 -92
  95. package/dist/room/track/TrackPublication.js.map +0 -1
  96. package/dist/room/track/create.js +0 -131
  97. package/dist/room/track/create.js.map +0 -1
  98. package/dist/room/track/defaults.js +0 -21
  99. package/dist/room/track/defaults.js.map +0 -1
  100. package/dist/room/track/options.js +0 -100
  101. package/dist/room/track/options.js.map +0 -1
  102. package/dist/room/track/types.js +0 -3
  103. package/dist/room/track/types.js.map +0 -1
  104. package/dist/room/track/utils.js +0 -113
  105. package/dist/room/track/utils.js.map +0 -1
  106. package/dist/room/track/utils.test.d.ts +0 -1
  107. package/dist/room/track/utils.test.js +0 -85
  108. package/dist/room/track/utils.test.js.map +0 -1
  109. package/dist/room/utils.js +0 -79
  110. package/dist/room/utils.js.map +0 -1
  111. package/dist/version.js +0 -6
  112. package/dist/version.js.map +0 -1
  113. package/jest.config.js +0 -6
  114. package/src/api/RequestQueue.ts +0 -53
  115. package/src/api/SignalClient.ts +0 -499
  116. package/src/connect.ts +0 -100
  117. package/src/index.ts +0 -47
  118. package/src/logger.ts +0 -22
  119. package/src/options.ts +0 -149
  120. package/src/proto/google/protobuf/timestamp.ts +0 -222
  121. package/src/proto/livekit_models.ts +0 -3019
  122. package/src/proto/livekit_rtc.ts +0 -3677
  123. package/src/room/DeviceManager.ts +0 -57
  124. package/src/room/PCTransport.ts +0 -86
  125. package/src/room/RTCEngine.ts +0 -652
  126. package/src/room/Room.ts +0 -943
  127. package/src/room/errors.ts +0 -65
  128. package/src/room/events.ts +0 -424
  129. package/src/room/participant/LocalParticipant.ts +0 -734
  130. package/src/room/participant/Participant.ts +0 -269
  131. package/src/room/participant/ParticipantTrackPermission.ts +0 -32
  132. package/src/room/participant/RemoteParticipant.ts +0 -243
  133. package/src/room/participant/publishUtils.test.ts +0 -145
  134. package/src/room/participant/publishUtils.ts +0 -225
  135. package/src/room/stats.ts +0 -130
  136. package/src/room/track/LocalAudioTrack.ts +0 -137
  137. package/src/room/track/LocalTrack.ts +0 -161
  138. package/src/room/track/LocalTrackPublication.ts +0 -66
  139. package/src/room/track/LocalVideoTrack.test.ts +0 -70
  140. package/src/room/track/LocalVideoTrack.ts +0 -293
  141. package/src/room/track/RemoteAudioTrack.ts +0 -58
  142. package/src/room/track/RemoteTrack.ts +0 -62
  143. package/src/room/track/RemoteTrackPublication.ts +0 -198
  144. package/src/room/track/RemoteVideoTrack.ts +0 -235
  145. package/src/room/track/Track.ts +0 -337
  146. package/src/room/track/TrackPublication.ts +0 -120
  147. package/src/room/track/create.ts +0 -121
  148. package/src/room/track/defaults.ts +0 -23
  149. package/src/room/track/options.ts +0 -281
  150. package/src/room/track/types.ts +0 -20
  151. package/src/room/track/utils.test.ts +0 -93
  152. package/src/room/track/utils.ts +0 -115
  153. package/src/room/utils.ts +0 -70
  154. package/src/version.ts +0 -2
  155. package/tsconfig.eslint.json +0 -11
@@ -1,3019 +0,0 @@
1
- /* eslint-disable */
2
- import Long from "long";
3
- import _m0 from "protobufjs/minimal";
4
- import { Timestamp } from "./google/protobuf/timestamp";
5
-
6
- export const protobufPackage = "livekit";
7
-
8
- export enum TrackType {
9
- AUDIO = 0,
10
- VIDEO = 1,
11
- DATA = 2,
12
- UNRECOGNIZED = -1,
13
- }
14
-
15
- export function trackTypeFromJSON(object: any): TrackType {
16
- switch (object) {
17
- case 0:
18
- case "AUDIO":
19
- return TrackType.AUDIO;
20
- case 1:
21
- case "VIDEO":
22
- return TrackType.VIDEO;
23
- case 2:
24
- case "DATA":
25
- return TrackType.DATA;
26
- case -1:
27
- case "UNRECOGNIZED":
28
- default:
29
- return TrackType.UNRECOGNIZED;
30
- }
31
- }
32
-
33
- export function trackTypeToJSON(object: TrackType): string {
34
- switch (object) {
35
- case TrackType.AUDIO:
36
- return "AUDIO";
37
- case TrackType.VIDEO:
38
- return "VIDEO";
39
- case TrackType.DATA:
40
- return "DATA";
41
- default:
42
- return "UNKNOWN";
43
- }
44
- }
45
-
46
- export enum TrackSource {
47
- UNKNOWN = 0,
48
- CAMERA = 1,
49
- MICROPHONE = 2,
50
- SCREEN_SHARE = 3,
51
- SCREEN_SHARE_AUDIO = 4,
52
- UNRECOGNIZED = -1,
53
- }
54
-
55
- export function trackSourceFromJSON(object: any): TrackSource {
56
- switch (object) {
57
- case 0:
58
- case "UNKNOWN":
59
- return TrackSource.UNKNOWN;
60
- case 1:
61
- case "CAMERA":
62
- return TrackSource.CAMERA;
63
- case 2:
64
- case "MICROPHONE":
65
- return TrackSource.MICROPHONE;
66
- case 3:
67
- case "SCREEN_SHARE":
68
- return TrackSource.SCREEN_SHARE;
69
- case 4:
70
- case "SCREEN_SHARE_AUDIO":
71
- return TrackSource.SCREEN_SHARE_AUDIO;
72
- case -1:
73
- case "UNRECOGNIZED":
74
- default:
75
- return TrackSource.UNRECOGNIZED;
76
- }
77
- }
78
-
79
- export function trackSourceToJSON(object: TrackSource): string {
80
- switch (object) {
81
- case TrackSource.UNKNOWN:
82
- return "UNKNOWN";
83
- case TrackSource.CAMERA:
84
- return "CAMERA";
85
- case TrackSource.MICROPHONE:
86
- return "MICROPHONE";
87
- case TrackSource.SCREEN_SHARE:
88
- return "SCREEN_SHARE";
89
- case TrackSource.SCREEN_SHARE_AUDIO:
90
- return "SCREEN_SHARE_AUDIO";
91
- default:
92
- return "UNKNOWN";
93
- }
94
- }
95
-
96
- export enum VideoQuality {
97
- LOW = 0,
98
- MEDIUM = 1,
99
- HIGH = 2,
100
- OFF = 3,
101
- UNRECOGNIZED = -1,
102
- }
103
-
104
- export function videoQualityFromJSON(object: any): VideoQuality {
105
- switch (object) {
106
- case 0:
107
- case "LOW":
108
- return VideoQuality.LOW;
109
- case 1:
110
- case "MEDIUM":
111
- return VideoQuality.MEDIUM;
112
- case 2:
113
- case "HIGH":
114
- return VideoQuality.HIGH;
115
- case 3:
116
- case "OFF":
117
- return VideoQuality.OFF;
118
- case -1:
119
- case "UNRECOGNIZED":
120
- default:
121
- return VideoQuality.UNRECOGNIZED;
122
- }
123
- }
124
-
125
- export function videoQualityToJSON(object: VideoQuality): string {
126
- switch (object) {
127
- case VideoQuality.LOW:
128
- return "LOW";
129
- case VideoQuality.MEDIUM:
130
- return "MEDIUM";
131
- case VideoQuality.HIGH:
132
- return "HIGH";
133
- case VideoQuality.OFF:
134
- return "OFF";
135
- default:
136
- return "UNKNOWN";
137
- }
138
- }
139
-
140
- export enum ConnectionQuality {
141
- POOR = 0,
142
- GOOD = 1,
143
- EXCELLENT = 2,
144
- UNRECOGNIZED = -1,
145
- }
146
-
147
- export function connectionQualityFromJSON(object: any): ConnectionQuality {
148
- switch (object) {
149
- case 0:
150
- case "POOR":
151
- return ConnectionQuality.POOR;
152
- case 1:
153
- case "GOOD":
154
- return ConnectionQuality.GOOD;
155
- case 2:
156
- case "EXCELLENT":
157
- return ConnectionQuality.EXCELLENT;
158
- case -1:
159
- case "UNRECOGNIZED":
160
- default:
161
- return ConnectionQuality.UNRECOGNIZED;
162
- }
163
- }
164
-
165
- export function connectionQualityToJSON(object: ConnectionQuality): string {
166
- switch (object) {
167
- case ConnectionQuality.POOR:
168
- return "POOR";
169
- case ConnectionQuality.GOOD:
170
- return "GOOD";
171
- case ConnectionQuality.EXCELLENT:
172
- return "EXCELLENT";
173
- default:
174
- return "UNKNOWN";
175
- }
176
- }
177
-
178
- export enum ClientConfigSetting {
179
- UNSET = 0,
180
- DISABLED = 1,
181
- ENABLED = 2,
182
- UNRECOGNIZED = -1,
183
- }
184
-
185
- export function clientConfigSettingFromJSON(object: any): ClientConfigSetting {
186
- switch (object) {
187
- case 0:
188
- case "UNSET":
189
- return ClientConfigSetting.UNSET;
190
- case 1:
191
- case "DISABLED":
192
- return ClientConfigSetting.DISABLED;
193
- case 2:
194
- case "ENABLED":
195
- return ClientConfigSetting.ENABLED;
196
- case -1:
197
- case "UNRECOGNIZED":
198
- default:
199
- return ClientConfigSetting.UNRECOGNIZED;
200
- }
201
- }
202
-
203
- export function clientConfigSettingToJSON(object: ClientConfigSetting): string {
204
- switch (object) {
205
- case ClientConfigSetting.UNSET:
206
- return "UNSET";
207
- case ClientConfigSetting.DISABLED:
208
- return "DISABLED";
209
- case ClientConfigSetting.ENABLED:
210
- return "ENABLED";
211
- default:
212
- return "UNKNOWN";
213
- }
214
- }
215
-
216
- export interface Room {
217
- sid: string;
218
- name: string;
219
- emptyTimeout: number;
220
- maxParticipants: number;
221
- creationTime: number;
222
- turnPassword: string;
223
- enabledCodecs: Codec[];
224
- metadata: string;
225
- numParticipants: number;
226
- activeRecording: boolean;
227
- }
228
-
229
- export interface Codec {
230
- mime: string;
231
- fmtpLine: string;
232
- }
233
-
234
- export interface ParticipantPermission {
235
- /** allow participant to subscribe to other tracks in the room */
236
- canSubscribe: boolean;
237
- /** allow participant to publish new tracks to room */
238
- canPublish: boolean;
239
- /** allow participant to publish data */
240
- canPublishData: boolean;
241
- /** indicates that it's hidden to others */
242
- hidden: boolean;
243
- /** indicates it's a recorder instance */
244
- recorder: boolean;
245
- }
246
-
247
- export interface ParticipantInfo {
248
- sid: string;
249
- identity: string;
250
- state: ParticipantInfo_State;
251
- tracks: TrackInfo[];
252
- metadata: string;
253
- /** timestamp when participant joined room, in seconds */
254
- joinedAt: number;
255
- name: string;
256
- version: number;
257
- permission?: ParticipantPermission;
258
- }
259
-
260
- export enum ParticipantInfo_State {
261
- /** JOINING - websocket' connected, but not offered yet */
262
- JOINING = 0,
263
- /** JOINED - server received client offer */
264
- JOINED = 1,
265
- /** ACTIVE - ICE connectivity established */
266
- ACTIVE = 2,
267
- /** DISCONNECTED - WS disconnected */
268
- DISCONNECTED = 3,
269
- UNRECOGNIZED = -1,
270
- }
271
-
272
- export function participantInfo_StateFromJSON(
273
- object: any
274
- ): ParticipantInfo_State {
275
- switch (object) {
276
- case 0:
277
- case "JOINING":
278
- return ParticipantInfo_State.JOINING;
279
- case 1:
280
- case "JOINED":
281
- return ParticipantInfo_State.JOINED;
282
- case 2:
283
- case "ACTIVE":
284
- return ParticipantInfo_State.ACTIVE;
285
- case 3:
286
- case "DISCONNECTED":
287
- return ParticipantInfo_State.DISCONNECTED;
288
- case -1:
289
- case "UNRECOGNIZED":
290
- default:
291
- return ParticipantInfo_State.UNRECOGNIZED;
292
- }
293
- }
294
-
295
- export function participantInfo_StateToJSON(
296
- object: ParticipantInfo_State
297
- ): string {
298
- switch (object) {
299
- case ParticipantInfo_State.JOINING:
300
- return "JOINING";
301
- case ParticipantInfo_State.JOINED:
302
- return "JOINED";
303
- case ParticipantInfo_State.ACTIVE:
304
- return "ACTIVE";
305
- case ParticipantInfo_State.DISCONNECTED:
306
- return "DISCONNECTED";
307
- default:
308
- return "UNKNOWN";
309
- }
310
- }
311
-
312
- export interface TrackInfo {
313
- sid: string;
314
- type: TrackType;
315
- name: string;
316
- muted: boolean;
317
- /**
318
- * original width of video (unset for audio)
319
- * clients may receive a lower resolution version with simulcast
320
- */
321
- width: number;
322
- /** original height of video (unset for audio) */
323
- height: number;
324
- /** true if track is simulcasted */
325
- simulcast: boolean;
326
- /** true if DTX (Discontinuous Transmission) is disabled for audio */
327
- disableDtx: boolean;
328
- /** source of media */
329
- source: TrackSource;
330
- layers: VideoLayer[];
331
- /** mime type of codec */
332
- mimeType: string;
333
- mid: string;
334
- }
335
-
336
- /** provide information about available spatial layers */
337
- export interface VideoLayer {
338
- /** for tracks with a single layer, this should be HIGH */
339
- quality: VideoQuality;
340
- width: number;
341
- height: number;
342
- /** target bitrate, server will measure actual */
343
- bitrate: number;
344
- ssrc: number;
345
- }
346
-
347
- /** new DataPacket API */
348
- export interface DataPacket {
349
- kind: DataPacket_Kind;
350
- user?: UserPacket | undefined;
351
- speaker?: ActiveSpeakerUpdate | undefined;
352
- }
353
-
354
- export enum DataPacket_Kind {
355
- RELIABLE = 0,
356
- LOSSY = 1,
357
- UNRECOGNIZED = -1,
358
- }
359
-
360
- export function dataPacket_KindFromJSON(object: any): DataPacket_Kind {
361
- switch (object) {
362
- case 0:
363
- case "RELIABLE":
364
- return DataPacket_Kind.RELIABLE;
365
- case 1:
366
- case "LOSSY":
367
- return DataPacket_Kind.LOSSY;
368
- case -1:
369
- case "UNRECOGNIZED":
370
- default:
371
- return DataPacket_Kind.UNRECOGNIZED;
372
- }
373
- }
374
-
375
- export function dataPacket_KindToJSON(object: DataPacket_Kind): string {
376
- switch (object) {
377
- case DataPacket_Kind.RELIABLE:
378
- return "RELIABLE";
379
- case DataPacket_Kind.LOSSY:
380
- return "LOSSY";
381
- default:
382
- return "UNKNOWN";
383
- }
384
- }
385
-
386
- export interface ActiveSpeakerUpdate {
387
- speakers: SpeakerInfo[];
388
- }
389
-
390
- export interface SpeakerInfo {
391
- sid: string;
392
- /** audio level, 0-1.0, 1 is loudest */
393
- level: number;
394
- /** true if speaker is currently active */
395
- active: boolean;
396
- }
397
-
398
- export interface UserPacket {
399
- /** participant ID of user that sent the message */
400
- participantSid: string;
401
- /** user defined payload */
402
- payload: Uint8Array;
403
- /** the ID of the participants who will receive the message (the message will be sent to all the people in the room if this variable is empty) */
404
- destinationSids: string[];
405
- }
406
-
407
- export interface ParticipantTracks {
408
- /** participant ID of participant to whom the tracks belong */
409
- participantSid: string;
410
- trackSids: string[];
411
- }
412
-
413
- /** details about the client */
414
- export interface ClientInfo {
415
- sdk: ClientInfo_SDK;
416
- version: string;
417
- protocol: number;
418
- os: string;
419
- osVersion: string;
420
- deviceModel: string;
421
- browser: string;
422
- browserVersion: string;
423
- address: string;
424
- }
425
-
426
- export enum ClientInfo_SDK {
427
- UNKNOWN = 0,
428
- JS = 1,
429
- SWIFT = 2,
430
- ANDROID = 3,
431
- FLUTTER = 4,
432
- GO = 5,
433
- UNITY = 6,
434
- UNRECOGNIZED = -1,
435
- }
436
-
437
- export function clientInfo_SDKFromJSON(object: any): ClientInfo_SDK {
438
- switch (object) {
439
- case 0:
440
- case "UNKNOWN":
441
- return ClientInfo_SDK.UNKNOWN;
442
- case 1:
443
- case "JS":
444
- return ClientInfo_SDK.JS;
445
- case 2:
446
- case "SWIFT":
447
- return ClientInfo_SDK.SWIFT;
448
- case 3:
449
- case "ANDROID":
450
- return ClientInfo_SDK.ANDROID;
451
- case 4:
452
- case "FLUTTER":
453
- return ClientInfo_SDK.FLUTTER;
454
- case 5:
455
- case "GO":
456
- return ClientInfo_SDK.GO;
457
- case 6:
458
- case "UNITY":
459
- return ClientInfo_SDK.UNITY;
460
- case -1:
461
- case "UNRECOGNIZED":
462
- default:
463
- return ClientInfo_SDK.UNRECOGNIZED;
464
- }
465
- }
466
-
467
- export function clientInfo_SDKToJSON(object: ClientInfo_SDK): string {
468
- switch (object) {
469
- case ClientInfo_SDK.UNKNOWN:
470
- return "UNKNOWN";
471
- case ClientInfo_SDK.JS:
472
- return "JS";
473
- case ClientInfo_SDK.SWIFT:
474
- return "SWIFT";
475
- case ClientInfo_SDK.ANDROID:
476
- return "ANDROID";
477
- case ClientInfo_SDK.FLUTTER:
478
- return "FLUTTER";
479
- case ClientInfo_SDK.GO:
480
- return "GO";
481
- case ClientInfo_SDK.UNITY:
482
- return "UNITY";
483
- default:
484
- return "UNKNOWN";
485
- }
486
- }
487
-
488
- /** server provided client configuration */
489
- export interface ClientConfiguration {
490
- video?: VideoConfiguration;
491
- screen?: VideoConfiguration;
492
- resumeConnection: ClientConfigSetting;
493
- }
494
-
495
- export interface VideoConfiguration {
496
- hardwareEncoder: ClientConfigSetting;
497
- }
498
-
499
- export interface RTPStats {
500
- startTime?: Date;
501
- endTime?: Date;
502
- duration: number;
503
- packets: number;
504
- packetRate: number;
505
- bytes: number;
506
- bitrate: number;
507
- packetsLost: number;
508
- packetLossRate: number;
509
- packetLossPercentage: number;
510
- packetsDuplicate: number;
511
- packetDuplicateRate: number;
512
- bytesDuplicate: number;
513
- bitrateDuplicate: number;
514
- packetsPadding: number;
515
- packetPaddingRate: number;
516
- bytesPadding: number;
517
- bitratePadding: number;
518
- packetsOutOfOrder: number;
519
- frames: number;
520
- frameRate: number;
521
- jitterCurrent: number;
522
- jitterMax: number;
523
- gapHistogram: { [key: number]: number };
524
- nacks: number;
525
- nackMisses: number;
526
- plis: number;
527
- lastPli?: Date;
528
- firs: number;
529
- lastFir?: Date;
530
- rttCurrent: number;
531
- rttMax: number;
532
- keyFrames: number;
533
- lastKeyFrame?: Date;
534
- layerLockPlis: number;
535
- lastLayerLockPli?: Date;
536
- }
537
-
538
- export interface RTPStats_GapHistogramEntry {
539
- key: number;
540
- value: number;
541
- }
542
-
543
- const baseRoom: object = {
544
- sid: "",
545
- name: "",
546
- emptyTimeout: 0,
547
- maxParticipants: 0,
548
- creationTime: 0,
549
- turnPassword: "",
550
- metadata: "",
551
- numParticipants: 0,
552
- activeRecording: false,
553
- };
554
-
555
- export const Room = {
556
- encode(message: Room, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
557
- if (message.sid !== "") {
558
- writer.uint32(10).string(message.sid);
559
- }
560
- if (message.name !== "") {
561
- writer.uint32(18).string(message.name);
562
- }
563
- if (message.emptyTimeout !== 0) {
564
- writer.uint32(24).uint32(message.emptyTimeout);
565
- }
566
- if (message.maxParticipants !== 0) {
567
- writer.uint32(32).uint32(message.maxParticipants);
568
- }
569
- if (message.creationTime !== 0) {
570
- writer.uint32(40).int64(message.creationTime);
571
- }
572
- if (message.turnPassword !== "") {
573
- writer.uint32(50).string(message.turnPassword);
574
- }
575
- for (const v of message.enabledCodecs) {
576
- Codec.encode(v!, writer.uint32(58).fork()).ldelim();
577
- }
578
- if (message.metadata !== "") {
579
- writer.uint32(66).string(message.metadata);
580
- }
581
- if (message.numParticipants !== 0) {
582
- writer.uint32(72).uint32(message.numParticipants);
583
- }
584
- if (message.activeRecording === true) {
585
- writer.uint32(80).bool(message.activeRecording);
586
- }
587
- return writer;
588
- },
589
-
590
- decode(input: _m0.Reader | Uint8Array, length?: number): Room {
591
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
592
- let end = length === undefined ? reader.len : reader.pos + length;
593
- const message = { ...baseRoom } as Room;
594
- message.enabledCodecs = [];
595
- while (reader.pos < end) {
596
- const tag = reader.uint32();
597
- switch (tag >>> 3) {
598
- case 1:
599
- message.sid = reader.string();
600
- break;
601
- case 2:
602
- message.name = reader.string();
603
- break;
604
- case 3:
605
- message.emptyTimeout = reader.uint32();
606
- break;
607
- case 4:
608
- message.maxParticipants = reader.uint32();
609
- break;
610
- case 5:
611
- message.creationTime = longToNumber(reader.int64() as Long);
612
- break;
613
- case 6:
614
- message.turnPassword = reader.string();
615
- break;
616
- case 7:
617
- message.enabledCodecs.push(Codec.decode(reader, reader.uint32()));
618
- break;
619
- case 8:
620
- message.metadata = reader.string();
621
- break;
622
- case 9:
623
- message.numParticipants = reader.uint32();
624
- break;
625
- case 10:
626
- message.activeRecording = reader.bool();
627
- break;
628
- default:
629
- reader.skipType(tag & 7);
630
- break;
631
- }
632
- }
633
- return message;
634
- },
635
-
636
- fromJSON(object: any): Room {
637
- const message = { ...baseRoom } as Room;
638
- message.enabledCodecs = [];
639
- if (object.sid !== undefined && object.sid !== null) {
640
- message.sid = String(object.sid);
641
- } else {
642
- message.sid = "";
643
- }
644
- if (object.name !== undefined && object.name !== null) {
645
- message.name = String(object.name);
646
- } else {
647
- message.name = "";
648
- }
649
- if (object.emptyTimeout !== undefined && object.emptyTimeout !== null) {
650
- message.emptyTimeout = Number(object.emptyTimeout);
651
- } else {
652
- message.emptyTimeout = 0;
653
- }
654
- if (
655
- object.maxParticipants !== undefined &&
656
- object.maxParticipants !== null
657
- ) {
658
- message.maxParticipants = Number(object.maxParticipants);
659
- } else {
660
- message.maxParticipants = 0;
661
- }
662
- if (object.creationTime !== undefined && object.creationTime !== null) {
663
- message.creationTime = Number(object.creationTime);
664
- } else {
665
- message.creationTime = 0;
666
- }
667
- if (object.turnPassword !== undefined && object.turnPassword !== null) {
668
- message.turnPassword = String(object.turnPassword);
669
- } else {
670
- message.turnPassword = "";
671
- }
672
- if (object.enabledCodecs !== undefined && object.enabledCodecs !== null) {
673
- for (const e of object.enabledCodecs) {
674
- message.enabledCodecs.push(Codec.fromJSON(e));
675
- }
676
- }
677
- if (object.metadata !== undefined && object.metadata !== null) {
678
- message.metadata = String(object.metadata);
679
- } else {
680
- message.metadata = "";
681
- }
682
- if (
683
- object.numParticipants !== undefined &&
684
- object.numParticipants !== null
685
- ) {
686
- message.numParticipants = Number(object.numParticipants);
687
- } else {
688
- message.numParticipants = 0;
689
- }
690
- if (
691
- object.activeRecording !== undefined &&
692
- object.activeRecording !== null
693
- ) {
694
- message.activeRecording = Boolean(object.activeRecording);
695
- } else {
696
- message.activeRecording = false;
697
- }
698
- return message;
699
- },
700
-
701
- toJSON(message: Room): unknown {
702
- const obj: any = {};
703
- message.sid !== undefined && (obj.sid = message.sid);
704
- message.name !== undefined && (obj.name = message.name);
705
- message.emptyTimeout !== undefined &&
706
- (obj.emptyTimeout = message.emptyTimeout);
707
- message.maxParticipants !== undefined &&
708
- (obj.maxParticipants = message.maxParticipants);
709
- message.creationTime !== undefined &&
710
- (obj.creationTime = message.creationTime);
711
- message.turnPassword !== undefined &&
712
- (obj.turnPassword = message.turnPassword);
713
- if (message.enabledCodecs) {
714
- obj.enabledCodecs = message.enabledCodecs.map((e) =>
715
- e ? Codec.toJSON(e) : undefined
716
- );
717
- } else {
718
- obj.enabledCodecs = [];
719
- }
720
- message.metadata !== undefined && (obj.metadata = message.metadata);
721
- message.numParticipants !== undefined &&
722
- (obj.numParticipants = message.numParticipants);
723
- message.activeRecording !== undefined &&
724
- (obj.activeRecording = message.activeRecording);
725
- return obj;
726
- },
727
-
728
- fromPartial(object: DeepPartial<Room>): Room {
729
- const message = { ...baseRoom } as Room;
730
- message.sid = object.sid ?? "";
731
- message.name = object.name ?? "";
732
- message.emptyTimeout = object.emptyTimeout ?? 0;
733
- message.maxParticipants = object.maxParticipants ?? 0;
734
- message.creationTime = object.creationTime ?? 0;
735
- message.turnPassword = object.turnPassword ?? "";
736
- message.enabledCodecs = [];
737
- if (object.enabledCodecs !== undefined && object.enabledCodecs !== null) {
738
- for (const e of object.enabledCodecs) {
739
- message.enabledCodecs.push(Codec.fromPartial(e));
740
- }
741
- }
742
- message.metadata = object.metadata ?? "";
743
- message.numParticipants = object.numParticipants ?? 0;
744
- message.activeRecording = object.activeRecording ?? false;
745
- return message;
746
- },
747
- };
748
-
749
- const baseCodec: object = { mime: "", fmtpLine: "" };
750
-
751
- export const Codec = {
752
- encode(message: Codec, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
753
- if (message.mime !== "") {
754
- writer.uint32(10).string(message.mime);
755
- }
756
- if (message.fmtpLine !== "") {
757
- writer.uint32(18).string(message.fmtpLine);
758
- }
759
- return writer;
760
- },
761
-
762
- decode(input: _m0.Reader | Uint8Array, length?: number): Codec {
763
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
764
- let end = length === undefined ? reader.len : reader.pos + length;
765
- const message = { ...baseCodec } as Codec;
766
- while (reader.pos < end) {
767
- const tag = reader.uint32();
768
- switch (tag >>> 3) {
769
- case 1:
770
- message.mime = reader.string();
771
- break;
772
- case 2:
773
- message.fmtpLine = reader.string();
774
- break;
775
- default:
776
- reader.skipType(tag & 7);
777
- break;
778
- }
779
- }
780
- return message;
781
- },
782
-
783
- fromJSON(object: any): Codec {
784
- const message = { ...baseCodec } as Codec;
785
- if (object.mime !== undefined && object.mime !== null) {
786
- message.mime = String(object.mime);
787
- } else {
788
- message.mime = "";
789
- }
790
- if (object.fmtpLine !== undefined && object.fmtpLine !== null) {
791
- message.fmtpLine = String(object.fmtpLine);
792
- } else {
793
- message.fmtpLine = "";
794
- }
795
- return message;
796
- },
797
-
798
- toJSON(message: Codec): unknown {
799
- const obj: any = {};
800
- message.mime !== undefined && (obj.mime = message.mime);
801
- message.fmtpLine !== undefined && (obj.fmtpLine = message.fmtpLine);
802
- return obj;
803
- },
804
-
805
- fromPartial(object: DeepPartial<Codec>): Codec {
806
- const message = { ...baseCodec } as Codec;
807
- message.mime = object.mime ?? "";
808
- message.fmtpLine = object.fmtpLine ?? "";
809
- return message;
810
- },
811
- };
812
-
813
- const baseParticipantPermission: object = {
814
- canSubscribe: false,
815
- canPublish: false,
816
- canPublishData: false,
817
- hidden: false,
818
- recorder: false,
819
- };
820
-
821
- export const ParticipantPermission = {
822
- encode(
823
- message: ParticipantPermission,
824
- writer: _m0.Writer = _m0.Writer.create()
825
- ): _m0.Writer {
826
- if (message.canSubscribe === true) {
827
- writer.uint32(8).bool(message.canSubscribe);
828
- }
829
- if (message.canPublish === true) {
830
- writer.uint32(16).bool(message.canPublish);
831
- }
832
- if (message.canPublishData === true) {
833
- writer.uint32(24).bool(message.canPublishData);
834
- }
835
- if (message.hidden === true) {
836
- writer.uint32(56).bool(message.hidden);
837
- }
838
- if (message.recorder === true) {
839
- writer.uint32(64).bool(message.recorder);
840
- }
841
- return writer;
842
- },
843
-
844
- decode(
845
- input: _m0.Reader | Uint8Array,
846
- length?: number
847
- ): ParticipantPermission {
848
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
849
- let end = length === undefined ? reader.len : reader.pos + length;
850
- const message = { ...baseParticipantPermission } as ParticipantPermission;
851
- while (reader.pos < end) {
852
- const tag = reader.uint32();
853
- switch (tag >>> 3) {
854
- case 1:
855
- message.canSubscribe = reader.bool();
856
- break;
857
- case 2:
858
- message.canPublish = reader.bool();
859
- break;
860
- case 3:
861
- message.canPublishData = reader.bool();
862
- break;
863
- case 7:
864
- message.hidden = reader.bool();
865
- break;
866
- case 8:
867
- message.recorder = reader.bool();
868
- break;
869
- default:
870
- reader.skipType(tag & 7);
871
- break;
872
- }
873
- }
874
- return message;
875
- },
876
-
877
- fromJSON(object: any): ParticipantPermission {
878
- const message = { ...baseParticipantPermission } as ParticipantPermission;
879
- if (object.canSubscribe !== undefined && object.canSubscribe !== null) {
880
- message.canSubscribe = Boolean(object.canSubscribe);
881
- } else {
882
- message.canSubscribe = false;
883
- }
884
- if (object.canPublish !== undefined && object.canPublish !== null) {
885
- message.canPublish = Boolean(object.canPublish);
886
- } else {
887
- message.canPublish = false;
888
- }
889
- if (object.canPublishData !== undefined && object.canPublishData !== null) {
890
- message.canPublishData = Boolean(object.canPublishData);
891
- } else {
892
- message.canPublishData = false;
893
- }
894
- if (object.hidden !== undefined && object.hidden !== null) {
895
- message.hidden = Boolean(object.hidden);
896
- } else {
897
- message.hidden = false;
898
- }
899
- if (object.recorder !== undefined && object.recorder !== null) {
900
- message.recorder = Boolean(object.recorder);
901
- } else {
902
- message.recorder = false;
903
- }
904
- return message;
905
- },
906
-
907
- toJSON(message: ParticipantPermission): unknown {
908
- const obj: any = {};
909
- message.canSubscribe !== undefined &&
910
- (obj.canSubscribe = message.canSubscribe);
911
- message.canPublish !== undefined && (obj.canPublish = message.canPublish);
912
- message.canPublishData !== undefined &&
913
- (obj.canPublishData = message.canPublishData);
914
- message.hidden !== undefined && (obj.hidden = message.hidden);
915
- message.recorder !== undefined && (obj.recorder = message.recorder);
916
- return obj;
917
- },
918
-
919
- fromPartial(
920
- object: DeepPartial<ParticipantPermission>
921
- ): ParticipantPermission {
922
- const message = { ...baseParticipantPermission } as ParticipantPermission;
923
- message.canSubscribe = object.canSubscribe ?? false;
924
- message.canPublish = object.canPublish ?? false;
925
- message.canPublishData = object.canPublishData ?? false;
926
- message.hidden = object.hidden ?? false;
927
- message.recorder = object.recorder ?? false;
928
- return message;
929
- },
930
- };
931
-
932
- const baseParticipantInfo: object = {
933
- sid: "",
934
- identity: "",
935
- state: 0,
936
- metadata: "",
937
- joinedAt: 0,
938
- name: "",
939
- version: 0,
940
- };
941
-
942
- export const ParticipantInfo = {
943
- encode(
944
- message: ParticipantInfo,
945
- writer: _m0.Writer = _m0.Writer.create()
946
- ): _m0.Writer {
947
- if (message.sid !== "") {
948
- writer.uint32(10).string(message.sid);
949
- }
950
- if (message.identity !== "") {
951
- writer.uint32(18).string(message.identity);
952
- }
953
- if (message.state !== 0) {
954
- writer.uint32(24).int32(message.state);
955
- }
956
- for (const v of message.tracks) {
957
- TrackInfo.encode(v!, writer.uint32(34).fork()).ldelim();
958
- }
959
- if (message.metadata !== "") {
960
- writer.uint32(42).string(message.metadata);
961
- }
962
- if (message.joinedAt !== 0) {
963
- writer.uint32(48).int64(message.joinedAt);
964
- }
965
- if (message.name !== "") {
966
- writer.uint32(74).string(message.name);
967
- }
968
- if (message.version !== 0) {
969
- writer.uint32(80).uint32(message.version);
970
- }
971
- if (message.permission !== undefined) {
972
- ParticipantPermission.encode(
973
- message.permission,
974
- writer.uint32(90).fork()
975
- ).ldelim();
976
- }
977
- return writer;
978
- },
979
-
980
- decode(input: _m0.Reader | Uint8Array, length?: number): ParticipantInfo {
981
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
982
- let end = length === undefined ? reader.len : reader.pos + length;
983
- const message = { ...baseParticipantInfo } as ParticipantInfo;
984
- message.tracks = [];
985
- while (reader.pos < end) {
986
- const tag = reader.uint32();
987
- switch (tag >>> 3) {
988
- case 1:
989
- message.sid = reader.string();
990
- break;
991
- case 2:
992
- message.identity = reader.string();
993
- break;
994
- case 3:
995
- message.state = reader.int32() as any;
996
- break;
997
- case 4:
998
- message.tracks.push(TrackInfo.decode(reader, reader.uint32()));
999
- break;
1000
- case 5:
1001
- message.metadata = reader.string();
1002
- break;
1003
- case 6:
1004
- message.joinedAt = longToNumber(reader.int64() as Long);
1005
- break;
1006
- case 9:
1007
- message.name = reader.string();
1008
- break;
1009
- case 10:
1010
- message.version = reader.uint32();
1011
- break;
1012
- case 11:
1013
- message.permission = ParticipantPermission.decode(
1014
- reader,
1015
- reader.uint32()
1016
- );
1017
- break;
1018
- default:
1019
- reader.skipType(tag & 7);
1020
- break;
1021
- }
1022
- }
1023
- return message;
1024
- },
1025
-
1026
- fromJSON(object: any): ParticipantInfo {
1027
- const message = { ...baseParticipantInfo } as ParticipantInfo;
1028
- message.tracks = [];
1029
- if (object.sid !== undefined && object.sid !== null) {
1030
- message.sid = String(object.sid);
1031
- } else {
1032
- message.sid = "";
1033
- }
1034
- if (object.identity !== undefined && object.identity !== null) {
1035
- message.identity = String(object.identity);
1036
- } else {
1037
- message.identity = "";
1038
- }
1039
- if (object.state !== undefined && object.state !== null) {
1040
- message.state = participantInfo_StateFromJSON(object.state);
1041
- } else {
1042
- message.state = 0;
1043
- }
1044
- if (object.tracks !== undefined && object.tracks !== null) {
1045
- for (const e of object.tracks) {
1046
- message.tracks.push(TrackInfo.fromJSON(e));
1047
- }
1048
- }
1049
- if (object.metadata !== undefined && object.metadata !== null) {
1050
- message.metadata = String(object.metadata);
1051
- } else {
1052
- message.metadata = "";
1053
- }
1054
- if (object.joinedAt !== undefined && object.joinedAt !== null) {
1055
- message.joinedAt = Number(object.joinedAt);
1056
- } else {
1057
- message.joinedAt = 0;
1058
- }
1059
- if (object.name !== undefined && object.name !== null) {
1060
- message.name = String(object.name);
1061
- } else {
1062
- message.name = "";
1063
- }
1064
- if (object.version !== undefined && object.version !== null) {
1065
- message.version = Number(object.version);
1066
- } else {
1067
- message.version = 0;
1068
- }
1069
- if (object.permission !== undefined && object.permission !== null) {
1070
- message.permission = ParticipantPermission.fromJSON(object.permission);
1071
- } else {
1072
- message.permission = undefined;
1073
- }
1074
- return message;
1075
- },
1076
-
1077
- toJSON(message: ParticipantInfo): unknown {
1078
- const obj: any = {};
1079
- message.sid !== undefined && (obj.sid = message.sid);
1080
- message.identity !== undefined && (obj.identity = message.identity);
1081
- message.state !== undefined &&
1082
- (obj.state = participantInfo_StateToJSON(message.state));
1083
- if (message.tracks) {
1084
- obj.tracks = message.tracks.map((e) =>
1085
- e ? TrackInfo.toJSON(e) : undefined
1086
- );
1087
- } else {
1088
- obj.tracks = [];
1089
- }
1090
- message.metadata !== undefined && (obj.metadata = message.metadata);
1091
- message.joinedAt !== undefined && (obj.joinedAt = message.joinedAt);
1092
- message.name !== undefined && (obj.name = message.name);
1093
- message.version !== undefined && (obj.version = message.version);
1094
- message.permission !== undefined &&
1095
- (obj.permission = message.permission
1096
- ? ParticipantPermission.toJSON(message.permission)
1097
- : undefined);
1098
- return obj;
1099
- },
1100
-
1101
- fromPartial(object: DeepPartial<ParticipantInfo>): ParticipantInfo {
1102
- const message = { ...baseParticipantInfo } as ParticipantInfo;
1103
- message.sid = object.sid ?? "";
1104
- message.identity = object.identity ?? "";
1105
- message.state = object.state ?? 0;
1106
- message.tracks = [];
1107
- if (object.tracks !== undefined && object.tracks !== null) {
1108
- for (const e of object.tracks) {
1109
- message.tracks.push(TrackInfo.fromPartial(e));
1110
- }
1111
- }
1112
- message.metadata = object.metadata ?? "";
1113
- message.joinedAt = object.joinedAt ?? 0;
1114
- message.name = object.name ?? "";
1115
- message.version = object.version ?? 0;
1116
- if (object.permission !== undefined && object.permission !== null) {
1117
- message.permission = ParticipantPermission.fromPartial(object.permission);
1118
- } else {
1119
- message.permission = undefined;
1120
- }
1121
- return message;
1122
- },
1123
- };
1124
-
1125
- const baseTrackInfo: object = {
1126
- sid: "",
1127
- type: 0,
1128
- name: "",
1129
- muted: false,
1130
- width: 0,
1131
- height: 0,
1132
- simulcast: false,
1133
- disableDtx: false,
1134
- source: 0,
1135
- mimeType: "",
1136
- mid: "",
1137
- };
1138
-
1139
- export const TrackInfo = {
1140
- encode(
1141
- message: TrackInfo,
1142
- writer: _m0.Writer = _m0.Writer.create()
1143
- ): _m0.Writer {
1144
- if (message.sid !== "") {
1145
- writer.uint32(10).string(message.sid);
1146
- }
1147
- if (message.type !== 0) {
1148
- writer.uint32(16).int32(message.type);
1149
- }
1150
- if (message.name !== "") {
1151
- writer.uint32(26).string(message.name);
1152
- }
1153
- if (message.muted === true) {
1154
- writer.uint32(32).bool(message.muted);
1155
- }
1156
- if (message.width !== 0) {
1157
- writer.uint32(40).uint32(message.width);
1158
- }
1159
- if (message.height !== 0) {
1160
- writer.uint32(48).uint32(message.height);
1161
- }
1162
- if (message.simulcast === true) {
1163
- writer.uint32(56).bool(message.simulcast);
1164
- }
1165
- if (message.disableDtx === true) {
1166
- writer.uint32(64).bool(message.disableDtx);
1167
- }
1168
- if (message.source !== 0) {
1169
- writer.uint32(72).int32(message.source);
1170
- }
1171
- for (const v of message.layers) {
1172
- VideoLayer.encode(v!, writer.uint32(82).fork()).ldelim();
1173
- }
1174
- if (message.mimeType !== "") {
1175
- writer.uint32(90).string(message.mimeType);
1176
- }
1177
- if (message.mid !== "") {
1178
- writer.uint32(98).string(message.mid);
1179
- }
1180
- return writer;
1181
- },
1182
-
1183
- decode(input: _m0.Reader | Uint8Array, length?: number): TrackInfo {
1184
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1185
- let end = length === undefined ? reader.len : reader.pos + length;
1186
- const message = { ...baseTrackInfo } as TrackInfo;
1187
- message.layers = [];
1188
- while (reader.pos < end) {
1189
- const tag = reader.uint32();
1190
- switch (tag >>> 3) {
1191
- case 1:
1192
- message.sid = reader.string();
1193
- break;
1194
- case 2:
1195
- message.type = reader.int32() as any;
1196
- break;
1197
- case 3:
1198
- message.name = reader.string();
1199
- break;
1200
- case 4:
1201
- message.muted = reader.bool();
1202
- break;
1203
- case 5:
1204
- message.width = reader.uint32();
1205
- break;
1206
- case 6:
1207
- message.height = reader.uint32();
1208
- break;
1209
- case 7:
1210
- message.simulcast = reader.bool();
1211
- break;
1212
- case 8:
1213
- message.disableDtx = reader.bool();
1214
- break;
1215
- case 9:
1216
- message.source = reader.int32() as any;
1217
- break;
1218
- case 10:
1219
- message.layers.push(VideoLayer.decode(reader, reader.uint32()));
1220
- break;
1221
- case 11:
1222
- message.mimeType = reader.string();
1223
- break;
1224
- case 12:
1225
- message.mid = reader.string();
1226
- break;
1227
- default:
1228
- reader.skipType(tag & 7);
1229
- break;
1230
- }
1231
- }
1232
- return message;
1233
- },
1234
-
1235
- fromJSON(object: any): TrackInfo {
1236
- const message = { ...baseTrackInfo } as TrackInfo;
1237
- message.layers = [];
1238
- if (object.sid !== undefined && object.sid !== null) {
1239
- message.sid = String(object.sid);
1240
- } else {
1241
- message.sid = "";
1242
- }
1243
- if (object.type !== undefined && object.type !== null) {
1244
- message.type = trackTypeFromJSON(object.type);
1245
- } else {
1246
- message.type = 0;
1247
- }
1248
- if (object.name !== undefined && object.name !== null) {
1249
- message.name = String(object.name);
1250
- } else {
1251
- message.name = "";
1252
- }
1253
- if (object.muted !== undefined && object.muted !== null) {
1254
- message.muted = Boolean(object.muted);
1255
- } else {
1256
- message.muted = false;
1257
- }
1258
- if (object.width !== undefined && object.width !== null) {
1259
- message.width = Number(object.width);
1260
- } else {
1261
- message.width = 0;
1262
- }
1263
- if (object.height !== undefined && object.height !== null) {
1264
- message.height = Number(object.height);
1265
- } else {
1266
- message.height = 0;
1267
- }
1268
- if (object.simulcast !== undefined && object.simulcast !== null) {
1269
- message.simulcast = Boolean(object.simulcast);
1270
- } else {
1271
- message.simulcast = false;
1272
- }
1273
- if (object.disableDtx !== undefined && object.disableDtx !== null) {
1274
- message.disableDtx = Boolean(object.disableDtx);
1275
- } else {
1276
- message.disableDtx = false;
1277
- }
1278
- if (object.source !== undefined && object.source !== null) {
1279
- message.source = trackSourceFromJSON(object.source);
1280
- } else {
1281
- message.source = 0;
1282
- }
1283
- if (object.layers !== undefined && object.layers !== null) {
1284
- for (const e of object.layers) {
1285
- message.layers.push(VideoLayer.fromJSON(e));
1286
- }
1287
- }
1288
- if (object.mimeType !== undefined && object.mimeType !== null) {
1289
- message.mimeType = String(object.mimeType);
1290
- } else {
1291
- message.mimeType = "";
1292
- }
1293
- if (object.mid !== undefined && object.mid !== null) {
1294
- message.mid = String(object.mid);
1295
- } else {
1296
- message.mid = "";
1297
- }
1298
- return message;
1299
- },
1300
-
1301
- toJSON(message: TrackInfo): unknown {
1302
- const obj: any = {};
1303
- message.sid !== undefined && (obj.sid = message.sid);
1304
- message.type !== undefined && (obj.type = trackTypeToJSON(message.type));
1305
- message.name !== undefined && (obj.name = message.name);
1306
- message.muted !== undefined && (obj.muted = message.muted);
1307
- message.width !== undefined && (obj.width = message.width);
1308
- message.height !== undefined && (obj.height = message.height);
1309
- message.simulcast !== undefined && (obj.simulcast = message.simulcast);
1310
- message.disableDtx !== undefined && (obj.disableDtx = message.disableDtx);
1311
- message.source !== undefined &&
1312
- (obj.source = trackSourceToJSON(message.source));
1313
- if (message.layers) {
1314
- obj.layers = message.layers.map((e) =>
1315
- e ? VideoLayer.toJSON(e) : undefined
1316
- );
1317
- } else {
1318
- obj.layers = [];
1319
- }
1320
- message.mimeType !== undefined && (obj.mimeType = message.mimeType);
1321
- message.mid !== undefined && (obj.mid = message.mid);
1322
- return obj;
1323
- },
1324
-
1325
- fromPartial(object: DeepPartial<TrackInfo>): TrackInfo {
1326
- const message = { ...baseTrackInfo } as TrackInfo;
1327
- message.sid = object.sid ?? "";
1328
- message.type = object.type ?? 0;
1329
- message.name = object.name ?? "";
1330
- message.muted = object.muted ?? false;
1331
- message.width = object.width ?? 0;
1332
- message.height = object.height ?? 0;
1333
- message.simulcast = object.simulcast ?? false;
1334
- message.disableDtx = object.disableDtx ?? false;
1335
- message.source = object.source ?? 0;
1336
- message.layers = [];
1337
- if (object.layers !== undefined && object.layers !== null) {
1338
- for (const e of object.layers) {
1339
- message.layers.push(VideoLayer.fromPartial(e));
1340
- }
1341
- }
1342
- message.mimeType = object.mimeType ?? "";
1343
- message.mid = object.mid ?? "";
1344
- return message;
1345
- },
1346
- };
1347
-
1348
- const baseVideoLayer: object = {
1349
- quality: 0,
1350
- width: 0,
1351
- height: 0,
1352
- bitrate: 0,
1353
- ssrc: 0,
1354
- };
1355
-
1356
- export const VideoLayer = {
1357
- encode(
1358
- message: VideoLayer,
1359
- writer: _m0.Writer = _m0.Writer.create()
1360
- ): _m0.Writer {
1361
- if (message.quality !== 0) {
1362
- writer.uint32(8).int32(message.quality);
1363
- }
1364
- if (message.width !== 0) {
1365
- writer.uint32(16).uint32(message.width);
1366
- }
1367
- if (message.height !== 0) {
1368
- writer.uint32(24).uint32(message.height);
1369
- }
1370
- if (message.bitrate !== 0) {
1371
- writer.uint32(32).uint32(message.bitrate);
1372
- }
1373
- if (message.ssrc !== 0) {
1374
- writer.uint32(40).uint32(message.ssrc);
1375
- }
1376
- return writer;
1377
- },
1378
-
1379
- decode(input: _m0.Reader | Uint8Array, length?: number): VideoLayer {
1380
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1381
- let end = length === undefined ? reader.len : reader.pos + length;
1382
- const message = { ...baseVideoLayer } as VideoLayer;
1383
- while (reader.pos < end) {
1384
- const tag = reader.uint32();
1385
- switch (tag >>> 3) {
1386
- case 1:
1387
- message.quality = reader.int32() as any;
1388
- break;
1389
- case 2:
1390
- message.width = reader.uint32();
1391
- break;
1392
- case 3:
1393
- message.height = reader.uint32();
1394
- break;
1395
- case 4:
1396
- message.bitrate = reader.uint32();
1397
- break;
1398
- case 5:
1399
- message.ssrc = reader.uint32();
1400
- break;
1401
- default:
1402
- reader.skipType(tag & 7);
1403
- break;
1404
- }
1405
- }
1406
- return message;
1407
- },
1408
-
1409
- fromJSON(object: any): VideoLayer {
1410
- const message = { ...baseVideoLayer } as VideoLayer;
1411
- if (object.quality !== undefined && object.quality !== null) {
1412
- message.quality = videoQualityFromJSON(object.quality);
1413
- } else {
1414
- message.quality = 0;
1415
- }
1416
- if (object.width !== undefined && object.width !== null) {
1417
- message.width = Number(object.width);
1418
- } else {
1419
- message.width = 0;
1420
- }
1421
- if (object.height !== undefined && object.height !== null) {
1422
- message.height = Number(object.height);
1423
- } else {
1424
- message.height = 0;
1425
- }
1426
- if (object.bitrate !== undefined && object.bitrate !== null) {
1427
- message.bitrate = Number(object.bitrate);
1428
- } else {
1429
- message.bitrate = 0;
1430
- }
1431
- if (object.ssrc !== undefined && object.ssrc !== null) {
1432
- message.ssrc = Number(object.ssrc);
1433
- } else {
1434
- message.ssrc = 0;
1435
- }
1436
- return message;
1437
- },
1438
-
1439
- toJSON(message: VideoLayer): unknown {
1440
- const obj: any = {};
1441
- message.quality !== undefined &&
1442
- (obj.quality = videoQualityToJSON(message.quality));
1443
- message.width !== undefined && (obj.width = message.width);
1444
- message.height !== undefined && (obj.height = message.height);
1445
- message.bitrate !== undefined && (obj.bitrate = message.bitrate);
1446
- message.ssrc !== undefined && (obj.ssrc = message.ssrc);
1447
- return obj;
1448
- },
1449
-
1450
- fromPartial(object: DeepPartial<VideoLayer>): VideoLayer {
1451
- const message = { ...baseVideoLayer } as VideoLayer;
1452
- message.quality = object.quality ?? 0;
1453
- message.width = object.width ?? 0;
1454
- message.height = object.height ?? 0;
1455
- message.bitrate = object.bitrate ?? 0;
1456
- message.ssrc = object.ssrc ?? 0;
1457
- return message;
1458
- },
1459
- };
1460
-
1461
- const baseDataPacket: object = { kind: 0 };
1462
-
1463
- export const DataPacket = {
1464
- encode(
1465
- message: DataPacket,
1466
- writer: _m0.Writer = _m0.Writer.create()
1467
- ): _m0.Writer {
1468
- if (message.kind !== 0) {
1469
- writer.uint32(8).int32(message.kind);
1470
- }
1471
- if (message.user !== undefined) {
1472
- UserPacket.encode(message.user, writer.uint32(18).fork()).ldelim();
1473
- }
1474
- if (message.speaker !== undefined) {
1475
- ActiveSpeakerUpdate.encode(
1476
- message.speaker,
1477
- writer.uint32(26).fork()
1478
- ).ldelim();
1479
- }
1480
- return writer;
1481
- },
1482
-
1483
- decode(input: _m0.Reader | Uint8Array, length?: number): DataPacket {
1484
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1485
- let end = length === undefined ? reader.len : reader.pos + length;
1486
- const message = { ...baseDataPacket } as DataPacket;
1487
- while (reader.pos < end) {
1488
- const tag = reader.uint32();
1489
- switch (tag >>> 3) {
1490
- case 1:
1491
- message.kind = reader.int32() as any;
1492
- break;
1493
- case 2:
1494
- message.user = UserPacket.decode(reader, reader.uint32());
1495
- break;
1496
- case 3:
1497
- message.speaker = ActiveSpeakerUpdate.decode(reader, reader.uint32());
1498
- break;
1499
- default:
1500
- reader.skipType(tag & 7);
1501
- break;
1502
- }
1503
- }
1504
- return message;
1505
- },
1506
-
1507
- fromJSON(object: any): DataPacket {
1508
- const message = { ...baseDataPacket } as DataPacket;
1509
- if (object.kind !== undefined && object.kind !== null) {
1510
- message.kind = dataPacket_KindFromJSON(object.kind);
1511
- } else {
1512
- message.kind = 0;
1513
- }
1514
- if (object.user !== undefined && object.user !== null) {
1515
- message.user = UserPacket.fromJSON(object.user);
1516
- } else {
1517
- message.user = undefined;
1518
- }
1519
- if (object.speaker !== undefined && object.speaker !== null) {
1520
- message.speaker = ActiveSpeakerUpdate.fromJSON(object.speaker);
1521
- } else {
1522
- message.speaker = undefined;
1523
- }
1524
- return message;
1525
- },
1526
-
1527
- toJSON(message: DataPacket): unknown {
1528
- const obj: any = {};
1529
- message.kind !== undefined &&
1530
- (obj.kind = dataPacket_KindToJSON(message.kind));
1531
- message.user !== undefined &&
1532
- (obj.user = message.user ? UserPacket.toJSON(message.user) : undefined);
1533
- message.speaker !== undefined &&
1534
- (obj.speaker = message.speaker
1535
- ? ActiveSpeakerUpdate.toJSON(message.speaker)
1536
- : undefined);
1537
- return obj;
1538
- },
1539
-
1540
- fromPartial(object: DeepPartial<DataPacket>): DataPacket {
1541
- const message = { ...baseDataPacket } as DataPacket;
1542
- message.kind = object.kind ?? 0;
1543
- if (object.user !== undefined && object.user !== null) {
1544
- message.user = UserPacket.fromPartial(object.user);
1545
- } else {
1546
- message.user = undefined;
1547
- }
1548
- if (object.speaker !== undefined && object.speaker !== null) {
1549
- message.speaker = ActiveSpeakerUpdate.fromPartial(object.speaker);
1550
- } else {
1551
- message.speaker = undefined;
1552
- }
1553
- return message;
1554
- },
1555
- };
1556
-
1557
- const baseActiveSpeakerUpdate: object = {};
1558
-
1559
- export const ActiveSpeakerUpdate = {
1560
- encode(
1561
- message: ActiveSpeakerUpdate,
1562
- writer: _m0.Writer = _m0.Writer.create()
1563
- ): _m0.Writer {
1564
- for (const v of message.speakers) {
1565
- SpeakerInfo.encode(v!, writer.uint32(10).fork()).ldelim();
1566
- }
1567
- return writer;
1568
- },
1569
-
1570
- decode(input: _m0.Reader | Uint8Array, length?: number): ActiveSpeakerUpdate {
1571
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1572
- let end = length === undefined ? reader.len : reader.pos + length;
1573
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1574
- message.speakers = [];
1575
- while (reader.pos < end) {
1576
- const tag = reader.uint32();
1577
- switch (tag >>> 3) {
1578
- case 1:
1579
- message.speakers.push(SpeakerInfo.decode(reader, reader.uint32()));
1580
- break;
1581
- default:
1582
- reader.skipType(tag & 7);
1583
- break;
1584
- }
1585
- }
1586
- return message;
1587
- },
1588
-
1589
- fromJSON(object: any): ActiveSpeakerUpdate {
1590
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1591
- message.speakers = [];
1592
- if (object.speakers !== undefined && object.speakers !== null) {
1593
- for (const e of object.speakers) {
1594
- message.speakers.push(SpeakerInfo.fromJSON(e));
1595
- }
1596
- }
1597
- return message;
1598
- },
1599
-
1600
- toJSON(message: ActiveSpeakerUpdate): unknown {
1601
- const obj: any = {};
1602
- if (message.speakers) {
1603
- obj.speakers = message.speakers.map((e) =>
1604
- e ? SpeakerInfo.toJSON(e) : undefined
1605
- );
1606
- } else {
1607
- obj.speakers = [];
1608
- }
1609
- return obj;
1610
- },
1611
-
1612
- fromPartial(object: DeepPartial<ActiveSpeakerUpdate>): ActiveSpeakerUpdate {
1613
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1614
- message.speakers = [];
1615
- if (object.speakers !== undefined && object.speakers !== null) {
1616
- for (const e of object.speakers) {
1617
- message.speakers.push(SpeakerInfo.fromPartial(e));
1618
- }
1619
- }
1620
- return message;
1621
- },
1622
- };
1623
-
1624
- const baseSpeakerInfo: object = { sid: "", level: 0, active: false };
1625
-
1626
- export const SpeakerInfo = {
1627
- encode(
1628
- message: SpeakerInfo,
1629
- writer: _m0.Writer = _m0.Writer.create()
1630
- ): _m0.Writer {
1631
- if (message.sid !== "") {
1632
- writer.uint32(10).string(message.sid);
1633
- }
1634
- if (message.level !== 0) {
1635
- writer.uint32(21).float(message.level);
1636
- }
1637
- if (message.active === true) {
1638
- writer.uint32(24).bool(message.active);
1639
- }
1640
- return writer;
1641
- },
1642
-
1643
- decode(input: _m0.Reader | Uint8Array, length?: number): SpeakerInfo {
1644
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1645
- let end = length === undefined ? reader.len : reader.pos + length;
1646
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1647
- while (reader.pos < end) {
1648
- const tag = reader.uint32();
1649
- switch (tag >>> 3) {
1650
- case 1:
1651
- message.sid = reader.string();
1652
- break;
1653
- case 2:
1654
- message.level = reader.float();
1655
- break;
1656
- case 3:
1657
- message.active = reader.bool();
1658
- break;
1659
- default:
1660
- reader.skipType(tag & 7);
1661
- break;
1662
- }
1663
- }
1664
- return message;
1665
- },
1666
-
1667
- fromJSON(object: any): SpeakerInfo {
1668
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1669
- if (object.sid !== undefined && object.sid !== null) {
1670
- message.sid = String(object.sid);
1671
- } else {
1672
- message.sid = "";
1673
- }
1674
- if (object.level !== undefined && object.level !== null) {
1675
- message.level = Number(object.level);
1676
- } else {
1677
- message.level = 0;
1678
- }
1679
- if (object.active !== undefined && object.active !== null) {
1680
- message.active = Boolean(object.active);
1681
- } else {
1682
- message.active = false;
1683
- }
1684
- return message;
1685
- },
1686
-
1687
- toJSON(message: SpeakerInfo): unknown {
1688
- const obj: any = {};
1689
- message.sid !== undefined && (obj.sid = message.sid);
1690
- message.level !== undefined && (obj.level = message.level);
1691
- message.active !== undefined && (obj.active = message.active);
1692
- return obj;
1693
- },
1694
-
1695
- fromPartial(object: DeepPartial<SpeakerInfo>): SpeakerInfo {
1696
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1697
- message.sid = object.sid ?? "";
1698
- message.level = object.level ?? 0;
1699
- message.active = object.active ?? false;
1700
- return message;
1701
- },
1702
- };
1703
-
1704
- const baseUserPacket: object = { participantSid: "", destinationSids: "" };
1705
-
1706
- export const UserPacket = {
1707
- encode(
1708
- message: UserPacket,
1709
- writer: _m0.Writer = _m0.Writer.create()
1710
- ): _m0.Writer {
1711
- if (message.participantSid !== "") {
1712
- writer.uint32(10).string(message.participantSid);
1713
- }
1714
- if (message.payload.length !== 0) {
1715
- writer.uint32(18).bytes(message.payload);
1716
- }
1717
- for (const v of message.destinationSids) {
1718
- writer.uint32(26).string(v!);
1719
- }
1720
- return writer;
1721
- },
1722
-
1723
- decode(input: _m0.Reader | Uint8Array, length?: number): UserPacket {
1724
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1725
- let end = length === undefined ? reader.len : reader.pos + length;
1726
- const message = { ...baseUserPacket } as UserPacket;
1727
- message.destinationSids = [];
1728
- message.payload = new Uint8Array();
1729
- while (reader.pos < end) {
1730
- const tag = reader.uint32();
1731
- switch (tag >>> 3) {
1732
- case 1:
1733
- message.participantSid = reader.string();
1734
- break;
1735
- case 2:
1736
- message.payload = reader.bytes();
1737
- break;
1738
- case 3:
1739
- message.destinationSids.push(reader.string());
1740
- break;
1741
- default:
1742
- reader.skipType(tag & 7);
1743
- break;
1744
- }
1745
- }
1746
- return message;
1747
- },
1748
-
1749
- fromJSON(object: any): UserPacket {
1750
- const message = { ...baseUserPacket } as UserPacket;
1751
- message.destinationSids = [];
1752
- message.payload = new Uint8Array();
1753
- if (object.participantSid !== undefined && object.participantSid !== null) {
1754
- message.participantSid = String(object.participantSid);
1755
- } else {
1756
- message.participantSid = "";
1757
- }
1758
- if (object.payload !== undefined && object.payload !== null) {
1759
- message.payload = bytesFromBase64(object.payload);
1760
- }
1761
- if (
1762
- object.destinationSids !== undefined &&
1763
- object.destinationSids !== null
1764
- ) {
1765
- for (const e of object.destinationSids) {
1766
- message.destinationSids.push(String(e));
1767
- }
1768
- }
1769
- return message;
1770
- },
1771
-
1772
- toJSON(message: UserPacket): unknown {
1773
- const obj: any = {};
1774
- message.participantSid !== undefined &&
1775
- (obj.participantSid = message.participantSid);
1776
- message.payload !== undefined &&
1777
- (obj.payload = base64FromBytes(
1778
- message.payload !== undefined ? message.payload : new Uint8Array()
1779
- ));
1780
- if (message.destinationSids) {
1781
- obj.destinationSids = message.destinationSids.map((e) => e);
1782
- } else {
1783
- obj.destinationSids = [];
1784
- }
1785
- return obj;
1786
- },
1787
-
1788
- fromPartial(object: DeepPartial<UserPacket>): UserPacket {
1789
- const message = { ...baseUserPacket } as UserPacket;
1790
- message.participantSid = object.participantSid ?? "";
1791
- message.payload = object.payload ?? new Uint8Array();
1792
- message.destinationSids = [];
1793
- if (
1794
- object.destinationSids !== undefined &&
1795
- object.destinationSids !== null
1796
- ) {
1797
- for (const e of object.destinationSids) {
1798
- message.destinationSids.push(e);
1799
- }
1800
- }
1801
- return message;
1802
- },
1803
- };
1804
-
1805
- const baseParticipantTracks: object = { participantSid: "", trackSids: "" };
1806
-
1807
- export const ParticipantTracks = {
1808
- encode(
1809
- message: ParticipantTracks,
1810
- writer: _m0.Writer = _m0.Writer.create()
1811
- ): _m0.Writer {
1812
- if (message.participantSid !== "") {
1813
- writer.uint32(10).string(message.participantSid);
1814
- }
1815
- for (const v of message.trackSids) {
1816
- writer.uint32(18).string(v!);
1817
- }
1818
- return writer;
1819
- },
1820
-
1821
- decode(input: _m0.Reader | Uint8Array, length?: number): ParticipantTracks {
1822
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1823
- let end = length === undefined ? reader.len : reader.pos + length;
1824
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1825
- message.trackSids = [];
1826
- while (reader.pos < end) {
1827
- const tag = reader.uint32();
1828
- switch (tag >>> 3) {
1829
- case 1:
1830
- message.participantSid = reader.string();
1831
- break;
1832
- case 2:
1833
- message.trackSids.push(reader.string());
1834
- break;
1835
- default:
1836
- reader.skipType(tag & 7);
1837
- break;
1838
- }
1839
- }
1840
- return message;
1841
- },
1842
-
1843
- fromJSON(object: any): ParticipantTracks {
1844
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1845
- message.trackSids = [];
1846
- if (object.participantSid !== undefined && object.participantSid !== null) {
1847
- message.participantSid = String(object.participantSid);
1848
- } else {
1849
- message.participantSid = "";
1850
- }
1851
- if (object.trackSids !== undefined && object.trackSids !== null) {
1852
- for (const e of object.trackSids) {
1853
- message.trackSids.push(String(e));
1854
- }
1855
- }
1856
- return message;
1857
- },
1858
-
1859
- toJSON(message: ParticipantTracks): unknown {
1860
- const obj: any = {};
1861
- message.participantSid !== undefined &&
1862
- (obj.participantSid = message.participantSid);
1863
- if (message.trackSids) {
1864
- obj.trackSids = message.trackSids.map((e) => e);
1865
- } else {
1866
- obj.trackSids = [];
1867
- }
1868
- return obj;
1869
- },
1870
-
1871
- fromPartial(object: DeepPartial<ParticipantTracks>): ParticipantTracks {
1872
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1873
- message.participantSid = object.participantSid ?? "";
1874
- message.trackSids = [];
1875
- if (object.trackSids !== undefined && object.trackSids !== null) {
1876
- for (const e of object.trackSids) {
1877
- message.trackSids.push(e);
1878
- }
1879
- }
1880
- return message;
1881
- },
1882
- };
1883
-
1884
- const baseClientInfo: object = {
1885
- sdk: 0,
1886
- version: "",
1887
- protocol: 0,
1888
- os: "",
1889
- osVersion: "",
1890
- deviceModel: "",
1891
- browser: "",
1892
- browserVersion: "",
1893
- address: "",
1894
- };
1895
-
1896
- export const ClientInfo = {
1897
- encode(
1898
- message: ClientInfo,
1899
- writer: _m0.Writer = _m0.Writer.create()
1900
- ): _m0.Writer {
1901
- if (message.sdk !== 0) {
1902
- writer.uint32(8).int32(message.sdk);
1903
- }
1904
- if (message.version !== "") {
1905
- writer.uint32(18).string(message.version);
1906
- }
1907
- if (message.protocol !== 0) {
1908
- writer.uint32(24).int32(message.protocol);
1909
- }
1910
- if (message.os !== "") {
1911
- writer.uint32(34).string(message.os);
1912
- }
1913
- if (message.osVersion !== "") {
1914
- writer.uint32(42).string(message.osVersion);
1915
- }
1916
- if (message.deviceModel !== "") {
1917
- writer.uint32(50).string(message.deviceModel);
1918
- }
1919
- if (message.browser !== "") {
1920
- writer.uint32(58).string(message.browser);
1921
- }
1922
- if (message.browserVersion !== "") {
1923
- writer.uint32(66).string(message.browserVersion);
1924
- }
1925
- if (message.address !== "") {
1926
- writer.uint32(74).string(message.address);
1927
- }
1928
- return writer;
1929
- },
1930
-
1931
- decode(input: _m0.Reader | Uint8Array, length?: number): ClientInfo {
1932
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1933
- let end = length === undefined ? reader.len : reader.pos + length;
1934
- const message = { ...baseClientInfo } as ClientInfo;
1935
- while (reader.pos < end) {
1936
- const tag = reader.uint32();
1937
- switch (tag >>> 3) {
1938
- case 1:
1939
- message.sdk = reader.int32() as any;
1940
- break;
1941
- case 2:
1942
- message.version = reader.string();
1943
- break;
1944
- case 3:
1945
- message.protocol = reader.int32();
1946
- break;
1947
- case 4:
1948
- message.os = reader.string();
1949
- break;
1950
- case 5:
1951
- message.osVersion = reader.string();
1952
- break;
1953
- case 6:
1954
- message.deviceModel = reader.string();
1955
- break;
1956
- case 7:
1957
- message.browser = reader.string();
1958
- break;
1959
- case 8:
1960
- message.browserVersion = reader.string();
1961
- break;
1962
- case 9:
1963
- message.address = reader.string();
1964
- break;
1965
- default:
1966
- reader.skipType(tag & 7);
1967
- break;
1968
- }
1969
- }
1970
- return message;
1971
- },
1972
-
1973
- fromJSON(object: any): ClientInfo {
1974
- const message = { ...baseClientInfo } as ClientInfo;
1975
- if (object.sdk !== undefined && object.sdk !== null) {
1976
- message.sdk = clientInfo_SDKFromJSON(object.sdk);
1977
- } else {
1978
- message.sdk = 0;
1979
- }
1980
- if (object.version !== undefined && object.version !== null) {
1981
- message.version = String(object.version);
1982
- } else {
1983
- message.version = "";
1984
- }
1985
- if (object.protocol !== undefined && object.protocol !== null) {
1986
- message.protocol = Number(object.protocol);
1987
- } else {
1988
- message.protocol = 0;
1989
- }
1990
- if (object.os !== undefined && object.os !== null) {
1991
- message.os = String(object.os);
1992
- } else {
1993
- message.os = "";
1994
- }
1995
- if (object.osVersion !== undefined && object.osVersion !== null) {
1996
- message.osVersion = String(object.osVersion);
1997
- } else {
1998
- message.osVersion = "";
1999
- }
2000
- if (object.deviceModel !== undefined && object.deviceModel !== null) {
2001
- message.deviceModel = String(object.deviceModel);
2002
- } else {
2003
- message.deviceModel = "";
2004
- }
2005
- if (object.browser !== undefined && object.browser !== null) {
2006
- message.browser = String(object.browser);
2007
- } else {
2008
- message.browser = "";
2009
- }
2010
- if (object.browserVersion !== undefined && object.browserVersion !== null) {
2011
- message.browserVersion = String(object.browserVersion);
2012
- } else {
2013
- message.browserVersion = "";
2014
- }
2015
- if (object.address !== undefined && object.address !== null) {
2016
- message.address = String(object.address);
2017
- } else {
2018
- message.address = "";
2019
- }
2020
- return message;
2021
- },
2022
-
2023
- toJSON(message: ClientInfo): unknown {
2024
- const obj: any = {};
2025
- message.sdk !== undefined && (obj.sdk = clientInfo_SDKToJSON(message.sdk));
2026
- message.version !== undefined && (obj.version = message.version);
2027
- message.protocol !== undefined && (obj.protocol = message.protocol);
2028
- message.os !== undefined && (obj.os = message.os);
2029
- message.osVersion !== undefined && (obj.osVersion = message.osVersion);
2030
- message.deviceModel !== undefined &&
2031
- (obj.deviceModel = message.deviceModel);
2032
- message.browser !== undefined && (obj.browser = message.browser);
2033
- message.browserVersion !== undefined &&
2034
- (obj.browserVersion = message.browserVersion);
2035
- message.address !== undefined && (obj.address = message.address);
2036
- return obj;
2037
- },
2038
-
2039
- fromPartial(object: DeepPartial<ClientInfo>): ClientInfo {
2040
- const message = { ...baseClientInfo } as ClientInfo;
2041
- message.sdk = object.sdk ?? 0;
2042
- message.version = object.version ?? "";
2043
- message.protocol = object.protocol ?? 0;
2044
- message.os = object.os ?? "";
2045
- message.osVersion = object.osVersion ?? "";
2046
- message.deviceModel = object.deviceModel ?? "";
2047
- message.browser = object.browser ?? "";
2048
- message.browserVersion = object.browserVersion ?? "";
2049
- message.address = object.address ?? "";
2050
- return message;
2051
- },
2052
- };
2053
-
2054
- const baseClientConfiguration: object = { resumeConnection: 0 };
2055
-
2056
- export const ClientConfiguration = {
2057
- encode(
2058
- message: ClientConfiguration,
2059
- writer: _m0.Writer = _m0.Writer.create()
2060
- ): _m0.Writer {
2061
- if (message.video !== undefined) {
2062
- VideoConfiguration.encode(
2063
- message.video,
2064
- writer.uint32(10).fork()
2065
- ).ldelim();
2066
- }
2067
- if (message.screen !== undefined) {
2068
- VideoConfiguration.encode(
2069
- message.screen,
2070
- writer.uint32(18).fork()
2071
- ).ldelim();
2072
- }
2073
- if (message.resumeConnection !== 0) {
2074
- writer.uint32(24).int32(message.resumeConnection);
2075
- }
2076
- return writer;
2077
- },
2078
-
2079
- decode(input: _m0.Reader | Uint8Array, length?: number): ClientConfiguration {
2080
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2081
- let end = length === undefined ? reader.len : reader.pos + length;
2082
- const message = { ...baseClientConfiguration } as ClientConfiguration;
2083
- while (reader.pos < end) {
2084
- const tag = reader.uint32();
2085
- switch (tag >>> 3) {
2086
- case 1:
2087
- message.video = VideoConfiguration.decode(reader, reader.uint32());
2088
- break;
2089
- case 2:
2090
- message.screen = VideoConfiguration.decode(reader, reader.uint32());
2091
- break;
2092
- case 3:
2093
- message.resumeConnection = reader.int32() as any;
2094
- break;
2095
- default:
2096
- reader.skipType(tag & 7);
2097
- break;
2098
- }
2099
- }
2100
- return message;
2101
- },
2102
-
2103
- fromJSON(object: any): ClientConfiguration {
2104
- const message = { ...baseClientConfiguration } as ClientConfiguration;
2105
- if (object.video !== undefined && object.video !== null) {
2106
- message.video = VideoConfiguration.fromJSON(object.video);
2107
- } else {
2108
- message.video = undefined;
2109
- }
2110
- if (object.screen !== undefined && object.screen !== null) {
2111
- message.screen = VideoConfiguration.fromJSON(object.screen);
2112
- } else {
2113
- message.screen = undefined;
2114
- }
2115
- if (
2116
- object.resumeConnection !== undefined &&
2117
- object.resumeConnection !== null
2118
- ) {
2119
- message.resumeConnection = clientConfigSettingFromJSON(
2120
- object.resumeConnection
2121
- );
2122
- } else {
2123
- message.resumeConnection = 0;
2124
- }
2125
- return message;
2126
- },
2127
-
2128
- toJSON(message: ClientConfiguration): unknown {
2129
- const obj: any = {};
2130
- message.video !== undefined &&
2131
- (obj.video = message.video
2132
- ? VideoConfiguration.toJSON(message.video)
2133
- : undefined);
2134
- message.screen !== undefined &&
2135
- (obj.screen = message.screen
2136
- ? VideoConfiguration.toJSON(message.screen)
2137
- : undefined);
2138
- message.resumeConnection !== undefined &&
2139
- (obj.resumeConnection = clientConfigSettingToJSON(
2140
- message.resumeConnection
2141
- ));
2142
- return obj;
2143
- },
2144
-
2145
- fromPartial(object: DeepPartial<ClientConfiguration>): ClientConfiguration {
2146
- const message = { ...baseClientConfiguration } as ClientConfiguration;
2147
- if (object.video !== undefined && object.video !== null) {
2148
- message.video = VideoConfiguration.fromPartial(object.video);
2149
- } else {
2150
- message.video = undefined;
2151
- }
2152
- if (object.screen !== undefined && object.screen !== null) {
2153
- message.screen = VideoConfiguration.fromPartial(object.screen);
2154
- } else {
2155
- message.screen = undefined;
2156
- }
2157
- message.resumeConnection = object.resumeConnection ?? 0;
2158
- return message;
2159
- },
2160
- };
2161
-
2162
- const baseVideoConfiguration: object = { hardwareEncoder: 0 };
2163
-
2164
- export const VideoConfiguration = {
2165
- encode(
2166
- message: VideoConfiguration,
2167
- writer: _m0.Writer = _m0.Writer.create()
2168
- ): _m0.Writer {
2169
- if (message.hardwareEncoder !== 0) {
2170
- writer.uint32(8).int32(message.hardwareEncoder);
2171
- }
2172
- return writer;
2173
- },
2174
-
2175
- decode(input: _m0.Reader | Uint8Array, length?: number): VideoConfiguration {
2176
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2177
- let end = length === undefined ? reader.len : reader.pos + length;
2178
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
2179
- while (reader.pos < end) {
2180
- const tag = reader.uint32();
2181
- switch (tag >>> 3) {
2182
- case 1:
2183
- message.hardwareEncoder = reader.int32() as any;
2184
- break;
2185
- default:
2186
- reader.skipType(tag & 7);
2187
- break;
2188
- }
2189
- }
2190
- return message;
2191
- },
2192
-
2193
- fromJSON(object: any): VideoConfiguration {
2194
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
2195
- if (
2196
- object.hardwareEncoder !== undefined &&
2197
- object.hardwareEncoder !== null
2198
- ) {
2199
- message.hardwareEncoder = clientConfigSettingFromJSON(
2200
- object.hardwareEncoder
2201
- );
2202
- } else {
2203
- message.hardwareEncoder = 0;
2204
- }
2205
- return message;
2206
- },
2207
-
2208
- toJSON(message: VideoConfiguration): unknown {
2209
- const obj: any = {};
2210
- message.hardwareEncoder !== undefined &&
2211
- (obj.hardwareEncoder = clientConfigSettingToJSON(
2212
- message.hardwareEncoder
2213
- ));
2214
- return obj;
2215
- },
2216
-
2217
- fromPartial(object: DeepPartial<VideoConfiguration>): VideoConfiguration {
2218
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
2219
- message.hardwareEncoder = object.hardwareEncoder ?? 0;
2220
- return message;
2221
- },
2222
- };
2223
-
2224
- const baseRTPStats: object = {
2225
- duration: 0,
2226
- packets: 0,
2227
- packetRate: 0,
2228
- bytes: 0,
2229
- bitrate: 0,
2230
- packetsLost: 0,
2231
- packetLossRate: 0,
2232
- packetLossPercentage: 0,
2233
- packetsDuplicate: 0,
2234
- packetDuplicateRate: 0,
2235
- bytesDuplicate: 0,
2236
- bitrateDuplicate: 0,
2237
- packetsPadding: 0,
2238
- packetPaddingRate: 0,
2239
- bytesPadding: 0,
2240
- bitratePadding: 0,
2241
- packetsOutOfOrder: 0,
2242
- frames: 0,
2243
- frameRate: 0,
2244
- jitterCurrent: 0,
2245
- jitterMax: 0,
2246
- nacks: 0,
2247
- nackMisses: 0,
2248
- plis: 0,
2249
- firs: 0,
2250
- rttCurrent: 0,
2251
- rttMax: 0,
2252
- keyFrames: 0,
2253
- layerLockPlis: 0,
2254
- };
2255
-
2256
- export const RTPStats = {
2257
- encode(
2258
- message: RTPStats,
2259
- writer: _m0.Writer = _m0.Writer.create()
2260
- ): _m0.Writer {
2261
- if (message.startTime !== undefined) {
2262
- Timestamp.encode(
2263
- toTimestamp(message.startTime),
2264
- writer.uint32(10).fork()
2265
- ).ldelim();
2266
- }
2267
- if (message.endTime !== undefined) {
2268
- Timestamp.encode(
2269
- toTimestamp(message.endTime),
2270
- writer.uint32(18).fork()
2271
- ).ldelim();
2272
- }
2273
- if (message.duration !== 0) {
2274
- writer.uint32(25).double(message.duration);
2275
- }
2276
- if (message.packets !== 0) {
2277
- writer.uint32(32).uint32(message.packets);
2278
- }
2279
- if (message.packetRate !== 0) {
2280
- writer.uint32(41).double(message.packetRate);
2281
- }
2282
- if (message.bytes !== 0) {
2283
- writer.uint32(48).uint64(message.bytes);
2284
- }
2285
- if (message.bitrate !== 0) {
2286
- writer.uint32(57).double(message.bitrate);
2287
- }
2288
- if (message.packetsLost !== 0) {
2289
- writer.uint32(64).uint32(message.packetsLost);
2290
- }
2291
- if (message.packetLossRate !== 0) {
2292
- writer.uint32(73).double(message.packetLossRate);
2293
- }
2294
- if (message.packetLossPercentage !== 0) {
2295
- writer.uint32(85).float(message.packetLossPercentage);
2296
- }
2297
- if (message.packetsDuplicate !== 0) {
2298
- writer.uint32(88).uint32(message.packetsDuplicate);
2299
- }
2300
- if (message.packetDuplicateRate !== 0) {
2301
- writer.uint32(97).double(message.packetDuplicateRate);
2302
- }
2303
- if (message.bytesDuplicate !== 0) {
2304
- writer.uint32(104).uint64(message.bytesDuplicate);
2305
- }
2306
- if (message.bitrateDuplicate !== 0) {
2307
- writer.uint32(113).double(message.bitrateDuplicate);
2308
- }
2309
- if (message.packetsPadding !== 0) {
2310
- writer.uint32(120).uint32(message.packetsPadding);
2311
- }
2312
- if (message.packetPaddingRate !== 0) {
2313
- writer.uint32(129).double(message.packetPaddingRate);
2314
- }
2315
- if (message.bytesPadding !== 0) {
2316
- writer.uint32(136).uint64(message.bytesPadding);
2317
- }
2318
- if (message.bitratePadding !== 0) {
2319
- writer.uint32(145).double(message.bitratePadding);
2320
- }
2321
- if (message.packetsOutOfOrder !== 0) {
2322
- writer.uint32(152).uint32(message.packetsOutOfOrder);
2323
- }
2324
- if (message.frames !== 0) {
2325
- writer.uint32(160).uint32(message.frames);
2326
- }
2327
- if (message.frameRate !== 0) {
2328
- writer.uint32(169).double(message.frameRate);
2329
- }
2330
- if (message.jitterCurrent !== 0) {
2331
- writer.uint32(177).double(message.jitterCurrent);
2332
- }
2333
- if (message.jitterMax !== 0) {
2334
- writer.uint32(185).double(message.jitterMax);
2335
- }
2336
- Object.entries(message.gapHistogram).forEach(([key, value]) => {
2337
- RTPStats_GapHistogramEntry.encode(
2338
- { key: key as any, value },
2339
- writer.uint32(194).fork()
2340
- ).ldelim();
2341
- });
2342
- if (message.nacks !== 0) {
2343
- writer.uint32(200).uint32(message.nacks);
2344
- }
2345
- if (message.nackMisses !== 0) {
2346
- writer.uint32(208).uint32(message.nackMisses);
2347
- }
2348
- if (message.plis !== 0) {
2349
- writer.uint32(216).uint32(message.plis);
2350
- }
2351
- if (message.lastPli !== undefined) {
2352
- Timestamp.encode(
2353
- toTimestamp(message.lastPli),
2354
- writer.uint32(226).fork()
2355
- ).ldelim();
2356
- }
2357
- if (message.firs !== 0) {
2358
- writer.uint32(232).uint32(message.firs);
2359
- }
2360
- if (message.lastFir !== undefined) {
2361
- Timestamp.encode(
2362
- toTimestamp(message.lastFir),
2363
- writer.uint32(242).fork()
2364
- ).ldelim();
2365
- }
2366
- if (message.rttCurrent !== 0) {
2367
- writer.uint32(248).uint32(message.rttCurrent);
2368
- }
2369
- if (message.rttMax !== 0) {
2370
- writer.uint32(256).uint32(message.rttMax);
2371
- }
2372
- if (message.keyFrames !== 0) {
2373
- writer.uint32(264).uint32(message.keyFrames);
2374
- }
2375
- if (message.lastKeyFrame !== undefined) {
2376
- Timestamp.encode(
2377
- toTimestamp(message.lastKeyFrame),
2378
- writer.uint32(274).fork()
2379
- ).ldelim();
2380
- }
2381
- if (message.layerLockPlis !== 0) {
2382
- writer.uint32(280).uint32(message.layerLockPlis);
2383
- }
2384
- if (message.lastLayerLockPli !== undefined) {
2385
- Timestamp.encode(
2386
- toTimestamp(message.lastLayerLockPli),
2387
- writer.uint32(290).fork()
2388
- ).ldelim();
2389
- }
2390
- return writer;
2391
- },
2392
-
2393
- decode(input: _m0.Reader | Uint8Array, length?: number): RTPStats {
2394
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2395
- let end = length === undefined ? reader.len : reader.pos + length;
2396
- const message = { ...baseRTPStats } as RTPStats;
2397
- message.gapHistogram = {};
2398
- while (reader.pos < end) {
2399
- const tag = reader.uint32();
2400
- switch (tag >>> 3) {
2401
- case 1:
2402
- message.startTime = fromTimestamp(
2403
- Timestamp.decode(reader, reader.uint32())
2404
- );
2405
- break;
2406
- case 2:
2407
- message.endTime = fromTimestamp(
2408
- Timestamp.decode(reader, reader.uint32())
2409
- );
2410
- break;
2411
- case 3:
2412
- message.duration = reader.double();
2413
- break;
2414
- case 4:
2415
- message.packets = reader.uint32();
2416
- break;
2417
- case 5:
2418
- message.packetRate = reader.double();
2419
- break;
2420
- case 6:
2421
- message.bytes = longToNumber(reader.uint64() as Long);
2422
- break;
2423
- case 7:
2424
- message.bitrate = reader.double();
2425
- break;
2426
- case 8:
2427
- message.packetsLost = reader.uint32();
2428
- break;
2429
- case 9:
2430
- message.packetLossRate = reader.double();
2431
- break;
2432
- case 10:
2433
- message.packetLossPercentage = reader.float();
2434
- break;
2435
- case 11:
2436
- message.packetsDuplicate = reader.uint32();
2437
- break;
2438
- case 12:
2439
- message.packetDuplicateRate = reader.double();
2440
- break;
2441
- case 13:
2442
- message.bytesDuplicate = longToNumber(reader.uint64() as Long);
2443
- break;
2444
- case 14:
2445
- message.bitrateDuplicate = reader.double();
2446
- break;
2447
- case 15:
2448
- message.packetsPadding = reader.uint32();
2449
- break;
2450
- case 16:
2451
- message.packetPaddingRate = reader.double();
2452
- break;
2453
- case 17:
2454
- message.bytesPadding = longToNumber(reader.uint64() as Long);
2455
- break;
2456
- case 18:
2457
- message.bitratePadding = reader.double();
2458
- break;
2459
- case 19:
2460
- message.packetsOutOfOrder = reader.uint32();
2461
- break;
2462
- case 20:
2463
- message.frames = reader.uint32();
2464
- break;
2465
- case 21:
2466
- message.frameRate = reader.double();
2467
- break;
2468
- case 22:
2469
- message.jitterCurrent = reader.double();
2470
- break;
2471
- case 23:
2472
- message.jitterMax = reader.double();
2473
- break;
2474
- case 24:
2475
- const entry24 = RTPStats_GapHistogramEntry.decode(
2476
- reader,
2477
- reader.uint32()
2478
- );
2479
- if (entry24.value !== undefined) {
2480
- message.gapHistogram[entry24.key] = entry24.value;
2481
- }
2482
- break;
2483
- case 25:
2484
- message.nacks = reader.uint32();
2485
- break;
2486
- case 26:
2487
- message.nackMisses = reader.uint32();
2488
- break;
2489
- case 27:
2490
- message.plis = reader.uint32();
2491
- break;
2492
- case 28:
2493
- message.lastPli = fromTimestamp(
2494
- Timestamp.decode(reader, reader.uint32())
2495
- );
2496
- break;
2497
- case 29:
2498
- message.firs = reader.uint32();
2499
- break;
2500
- case 30:
2501
- message.lastFir = fromTimestamp(
2502
- Timestamp.decode(reader, reader.uint32())
2503
- );
2504
- break;
2505
- case 31:
2506
- message.rttCurrent = reader.uint32();
2507
- break;
2508
- case 32:
2509
- message.rttMax = reader.uint32();
2510
- break;
2511
- case 33:
2512
- message.keyFrames = reader.uint32();
2513
- break;
2514
- case 34:
2515
- message.lastKeyFrame = fromTimestamp(
2516
- Timestamp.decode(reader, reader.uint32())
2517
- );
2518
- break;
2519
- case 35:
2520
- message.layerLockPlis = reader.uint32();
2521
- break;
2522
- case 36:
2523
- message.lastLayerLockPli = fromTimestamp(
2524
- Timestamp.decode(reader, reader.uint32())
2525
- );
2526
- break;
2527
- default:
2528
- reader.skipType(tag & 7);
2529
- break;
2530
- }
2531
- }
2532
- return message;
2533
- },
2534
-
2535
- fromJSON(object: any): RTPStats {
2536
- const message = { ...baseRTPStats } as RTPStats;
2537
- message.gapHistogram = {};
2538
- if (object.startTime !== undefined && object.startTime !== null) {
2539
- message.startTime = fromJsonTimestamp(object.startTime);
2540
- } else {
2541
- message.startTime = undefined;
2542
- }
2543
- if (object.endTime !== undefined && object.endTime !== null) {
2544
- message.endTime = fromJsonTimestamp(object.endTime);
2545
- } else {
2546
- message.endTime = undefined;
2547
- }
2548
- if (object.duration !== undefined && object.duration !== null) {
2549
- message.duration = Number(object.duration);
2550
- } else {
2551
- message.duration = 0;
2552
- }
2553
- if (object.packets !== undefined && object.packets !== null) {
2554
- message.packets = Number(object.packets);
2555
- } else {
2556
- message.packets = 0;
2557
- }
2558
- if (object.packetRate !== undefined && object.packetRate !== null) {
2559
- message.packetRate = Number(object.packetRate);
2560
- } else {
2561
- message.packetRate = 0;
2562
- }
2563
- if (object.bytes !== undefined && object.bytes !== null) {
2564
- message.bytes = Number(object.bytes);
2565
- } else {
2566
- message.bytes = 0;
2567
- }
2568
- if (object.bitrate !== undefined && object.bitrate !== null) {
2569
- message.bitrate = Number(object.bitrate);
2570
- } else {
2571
- message.bitrate = 0;
2572
- }
2573
- if (object.packetsLost !== undefined && object.packetsLost !== null) {
2574
- message.packetsLost = Number(object.packetsLost);
2575
- } else {
2576
- message.packetsLost = 0;
2577
- }
2578
- if (object.packetLossRate !== undefined && object.packetLossRate !== null) {
2579
- message.packetLossRate = Number(object.packetLossRate);
2580
- } else {
2581
- message.packetLossRate = 0;
2582
- }
2583
- if (
2584
- object.packetLossPercentage !== undefined &&
2585
- object.packetLossPercentage !== null
2586
- ) {
2587
- message.packetLossPercentage = Number(object.packetLossPercentage);
2588
- } else {
2589
- message.packetLossPercentage = 0;
2590
- }
2591
- if (
2592
- object.packetsDuplicate !== undefined &&
2593
- object.packetsDuplicate !== null
2594
- ) {
2595
- message.packetsDuplicate = Number(object.packetsDuplicate);
2596
- } else {
2597
- message.packetsDuplicate = 0;
2598
- }
2599
- if (
2600
- object.packetDuplicateRate !== undefined &&
2601
- object.packetDuplicateRate !== null
2602
- ) {
2603
- message.packetDuplicateRate = Number(object.packetDuplicateRate);
2604
- } else {
2605
- message.packetDuplicateRate = 0;
2606
- }
2607
- if (object.bytesDuplicate !== undefined && object.bytesDuplicate !== null) {
2608
- message.bytesDuplicate = Number(object.bytesDuplicate);
2609
- } else {
2610
- message.bytesDuplicate = 0;
2611
- }
2612
- if (
2613
- object.bitrateDuplicate !== undefined &&
2614
- object.bitrateDuplicate !== null
2615
- ) {
2616
- message.bitrateDuplicate = Number(object.bitrateDuplicate);
2617
- } else {
2618
- message.bitrateDuplicate = 0;
2619
- }
2620
- if (object.packetsPadding !== undefined && object.packetsPadding !== null) {
2621
- message.packetsPadding = Number(object.packetsPadding);
2622
- } else {
2623
- message.packetsPadding = 0;
2624
- }
2625
- if (
2626
- object.packetPaddingRate !== undefined &&
2627
- object.packetPaddingRate !== null
2628
- ) {
2629
- message.packetPaddingRate = Number(object.packetPaddingRate);
2630
- } else {
2631
- message.packetPaddingRate = 0;
2632
- }
2633
- if (object.bytesPadding !== undefined && object.bytesPadding !== null) {
2634
- message.bytesPadding = Number(object.bytesPadding);
2635
- } else {
2636
- message.bytesPadding = 0;
2637
- }
2638
- if (object.bitratePadding !== undefined && object.bitratePadding !== null) {
2639
- message.bitratePadding = Number(object.bitratePadding);
2640
- } else {
2641
- message.bitratePadding = 0;
2642
- }
2643
- if (
2644
- object.packetsOutOfOrder !== undefined &&
2645
- object.packetsOutOfOrder !== null
2646
- ) {
2647
- message.packetsOutOfOrder = Number(object.packetsOutOfOrder);
2648
- } else {
2649
- message.packetsOutOfOrder = 0;
2650
- }
2651
- if (object.frames !== undefined && object.frames !== null) {
2652
- message.frames = Number(object.frames);
2653
- } else {
2654
- message.frames = 0;
2655
- }
2656
- if (object.frameRate !== undefined && object.frameRate !== null) {
2657
- message.frameRate = Number(object.frameRate);
2658
- } else {
2659
- message.frameRate = 0;
2660
- }
2661
- if (object.jitterCurrent !== undefined && object.jitterCurrent !== null) {
2662
- message.jitterCurrent = Number(object.jitterCurrent);
2663
- } else {
2664
- message.jitterCurrent = 0;
2665
- }
2666
- if (object.jitterMax !== undefined && object.jitterMax !== null) {
2667
- message.jitterMax = Number(object.jitterMax);
2668
- } else {
2669
- message.jitterMax = 0;
2670
- }
2671
- if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2672
- Object.entries(object.gapHistogram).forEach(([key, value]) => {
2673
- message.gapHistogram[Number(key)] = Number(value);
2674
- });
2675
- }
2676
- if (object.nacks !== undefined && object.nacks !== null) {
2677
- message.nacks = Number(object.nacks);
2678
- } else {
2679
- message.nacks = 0;
2680
- }
2681
- if (object.nackMisses !== undefined && object.nackMisses !== null) {
2682
- message.nackMisses = Number(object.nackMisses);
2683
- } else {
2684
- message.nackMisses = 0;
2685
- }
2686
- if (object.plis !== undefined && object.plis !== null) {
2687
- message.plis = Number(object.plis);
2688
- } else {
2689
- message.plis = 0;
2690
- }
2691
- if (object.lastPli !== undefined && object.lastPli !== null) {
2692
- message.lastPli = fromJsonTimestamp(object.lastPli);
2693
- } else {
2694
- message.lastPli = undefined;
2695
- }
2696
- if (object.firs !== undefined && object.firs !== null) {
2697
- message.firs = Number(object.firs);
2698
- } else {
2699
- message.firs = 0;
2700
- }
2701
- if (object.lastFir !== undefined && object.lastFir !== null) {
2702
- message.lastFir = fromJsonTimestamp(object.lastFir);
2703
- } else {
2704
- message.lastFir = undefined;
2705
- }
2706
- if (object.rttCurrent !== undefined && object.rttCurrent !== null) {
2707
- message.rttCurrent = Number(object.rttCurrent);
2708
- } else {
2709
- message.rttCurrent = 0;
2710
- }
2711
- if (object.rttMax !== undefined && object.rttMax !== null) {
2712
- message.rttMax = Number(object.rttMax);
2713
- } else {
2714
- message.rttMax = 0;
2715
- }
2716
- if (object.keyFrames !== undefined && object.keyFrames !== null) {
2717
- message.keyFrames = Number(object.keyFrames);
2718
- } else {
2719
- message.keyFrames = 0;
2720
- }
2721
- if (object.lastKeyFrame !== undefined && object.lastKeyFrame !== null) {
2722
- message.lastKeyFrame = fromJsonTimestamp(object.lastKeyFrame);
2723
- } else {
2724
- message.lastKeyFrame = undefined;
2725
- }
2726
- if (object.layerLockPlis !== undefined && object.layerLockPlis !== null) {
2727
- message.layerLockPlis = Number(object.layerLockPlis);
2728
- } else {
2729
- message.layerLockPlis = 0;
2730
- }
2731
- if (
2732
- object.lastLayerLockPli !== undefined &&
2733
- object.lastLayerLockPli !== null
2734
- ) {
2735
- message.lastLayerLockPli = fromJsonTimestamp(object.lastLayerLockPli);
2736
- } else {
2737
- message.lastLayerLockPli = undefined;
2738
- }
2739
- return message;
2740
- },
2741
-
2742
- toJSON(message: RTPStats): unknown {
2743
- const obj: any = {};
2744
- message.startTime !== undefined &&
2745
- (obj.startTime = message.startTime.toISOString());
2746
- message.endTime !== undefined &&
2747
- (obj.endTime = message.endTime.toISOString());
2748
- message.duration !== undefined && (obj.duration = message.duration);
2749
- message.packets !== undefined && (obj.packets = message.packets);
2750
- message.packetRate !== undefined && (obj.packetRate = message.packetRate);
2751
- message.bytes !== undefined && (obj.bytes = message.bytes);
2752
- message.bitrate !== undefined && (obj.bitrate = message.bitrate);
2753
- message.packetsLost !== undefined &&
2754
- (obj.packetsLost = message.packetsLost);
2755
- message.packetLossRate !== undefined &&
2756
- (obj.packetLossRate = message.packetLossRate);
2757
- message.packetLossPercentage !== undefined &&
2758
- (obj.packetLossPercentage = message.packetLossPercentage);
2759
- message.packetsDuplicate !== undefined &&
2760
- (obj.packetsDuplicate = message.packetsDuplicate);
2761
- message.packetDuplicateRate !== undefined &&
2762
- (obj.packetDuplicateRate = message.packetDuplicateRate);
2763
- message.bytesDuplicate !== undefined &&
2764
- (obj.bytesDuplicate = message.bytesDuplicate);
2765
- message.bitrateDuplicate !== undefined &&
2766
- (obj.bitrateDuplicate = message.bitrateDuplicate);
2767
- message.packetsPadding !== undefined &&
2768
- (obj.packetsPadding = message.packetsPadding);
2769
- message.packetPaddingRate !== undefined &&
2770
- (obj.packetPaddingRate = message.packetPaddingRate);
2771
- message.bytesPadding !== undefined &&
2772
- (obj.bytesPadding = message.bytesPadding);
2773
- message.bitratePadding !== undefined &&
2774
- (obj.bitratePadding = message.bitratePadding);
2775
- message.packetsOutOfOrder !== undefined &&
2776
- (obj.packetsOutOfOrder = message.packetsOutOfOrder);
2777
- message.frames !== undefined && (obj.frames = message.frames);
2778
- message.frameRate !== undefined && (obj.frameRate = message.frameRate);
2779
- message.jitterCurrent !== undefined &&
2780
- (obj.jitterCurrent = message.jitterCurrent);
2781
- message.jitterMax !== undefined && (obj.jitterMax = message.jitterMax);
2782
- obj.gapHistogram = {};
2783
- if (message.gapHistogram) {
2784
- Object.entries(message.gapHistogram).forEach(([k, v]) => {
2785
- obj.gapHistogram[k] = v;
2786
- });
2787
- }
2788
- message.nacks !== undefined && (obj.nacks = message.nacks);
2789
- message.nackMisses !== undefined && (obj.nackMisses = message.nackMisses);
2790
- message.plis !== undefined && (obj.plis = message.plis);
2791
- message.lastPli !== undefined &&
2792
- (obj.lastPli = message.lastPli.toISOString());
2793
- message.firs !== undefined && (obj.firs = message.firs);
2794
- message.lastFir !== undefined &&
2795
- (obj.lastFir = message.lastFir.toISOString());
2796
- message.rttCurrent !== undefined && (obj.rttCurrent = message.rttCurrent);
2797
- message.rttMax !== undefined && (obj.rttMax = message.rttMax);
2798
- message.keyFrames !== undefined && (obj.keyFrames = message.keyFrames);
2799
- message.lastKeyFrame !== undefined &&
2800
- (obj.lastKeyFrame = message.lastKeyFrame.toISOString());
2801
- message.layerLockPlis !== undefined &&
2802
- (obj.layerLockPlis = message.layerLockPlis);
2803
- message.lastLayerLockPli !== undefined &&
2804
- (obj.lastLayerLockPli = message.lastLayerLockPli.toISOString());
2805
- return obj;
2806
- },
2807
-
2808
- fromPartial(object: DeepPartial<RTPStats>): RTPStats {
2809
- const message = { ...baseRTPStats } as RTPStats;
2810
- message.startTime = object.startTime ?? undefined;
2811
- message.endTime = object.endTime ?? undefined;
2812
- message.duration = object.duration ?? 0;
2813
- message.packets = object.packets ?? 0;
2814
- message.packetRate = object.packetRate ?? 0;
2815
- message.bytes = object.bytes ?? 0;
2816
- message.bitrate = object.bitrate ?? 0;
2817
- message.packetsLost = object.packetsLost ?? 0;
2818
- message.packetLossRate = object.packetLossRate ?? 0;
2819
- message.packetLossPercentage = object.packetLossPercentage ?? 0;
2820
- message.packetsDuplicate = object.packetsDuplicate ?? 0;
2821
- message.packetDuplicateRate = object.packetDuplicateRate ?? 0;
2822
- message.bytesDuplicate = object.bytesDuplicate ?? 0;
2823
- message.bitrateDuplicate = object.bitrateDuplicate ?? 0;
2824
- message.packetsPadding = object.packetsPadding ?? 0;
2825
- message.packetPaddingRate = object.packetPaddingRate ?? 0;
2826
- message.bytesPadding = object.bytesPadding ?? 0;
2827
- message.bitratePadding = object.bitratePadding ?? 0;
2828
- message.packetsOutOfOrder = object.packetsOutOfOrder ?? 0;
2829
- message.frames = object.frames ?? 0;
2830
- message.frameRate = object.frameRate ?? 0;
2831
- message.jitterCurrent = object.jitterCurrent ?? 0;
2832
- message.jitterMax = object.jitterMax ?? 0;
2833
- message.gapHistogram = {};
2834
- if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2835
- Object.entries(object.gapHistogram).forEach(([key, value]) => {
2836
- if (value !== undefined) {
2837
- message.gapHistogram[Number(key)] = Number(value);
2838
- }
2839
- });
2840
- }
2841
- message.nacks = object.nacks ?? 0;
2842
- message.nackMisses = object.nackMisses ?? 0;
2843
- message.plis = object.plis ?? 0;
2844
- message.lastPli = object.lastPli ?? undefined;
2845
- message.firs = object.firs ?? 0;
2846
- message.lastFir = object.lastFir ?? undefined;
2847
- message.rttCurrent = object.rttCurrent ?? 0;
2848
- message.rttMax = object.rttMax ?? 0;
2849
- message.keyFrames = object.keyFrames ?? 0;
2850
- message.lastKeyFrame = object.lastKeyFrame ?? undefined;
2851
- message.layerLockPlis = object.layerLockPlis ?? 0;
2852
- message.lastLayerLockPli = object.lastLayerLockPli ?? undefined;
2853
- return message;
2854
- },
2855
- };
2856
-
2857
- const baseRTPStats_GapHistogramEntry: object = { key: 0, value: 0 };
2858
-
2859
- export const RTPStats_GapHistogramEntry = {
2860
- encode(
2861
- message: RTPStats_GapHistogramEntry,
2862
- writer: _m0.Writer = _m0.Writer.create()
2863
- ): _m0.Writer {
2864
- if (message.key !== 0) {
2865
- writer.uint32(8).int32(message.key);
2866
- }
2867
- if (message.value !== 0) {
2868
- writer.uint32(16).uint32(message.value);
2869
- }
2870
- return writer;
2871
- },
2872
-
2873
- decode(
2874
- input: _m0.Reader | Uint8Array,
2875
- length?: number
2876
- ): RTPStats_GapHistogramEntry {
2877
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2878
- let end = length === undefined ? reader.len : reader.pos + length;
2879
- const message = {
2880
- ...baseRTPStats_GapHistogramEntry,
2881
- } as RTPStats_GapHistogramEntry;
2882
- while (reader.pos < end) {
2883
- const tag = reader.uint32();
2884
- switch (tag >>> 3) {
2885
- case 1:
2886
- message.key = reader.int32();
2887
- break;
2888
- case 2:
2889
- message.value = reader.uint32();
2890
- break;
2891
- default:
2892
- reader.skipType(tag & 7);
2893
- break;
2894
- }
2895
- }
2896
- return message;
2897
- },
2898
-
2899
- fromJSON(object: any): RTPStats_GapHistogramEntry {
2900
- const message = {
2901
- ...baseRTPStats_GapHistogramEntry,
2902
- } as RTPStats_GapHistogramEntry;
2903
- if (object.key !== undefined && object.key !== null) {
2904
- message.key = Number(object.key);
2905
- } else {
2906
- message.key = 0;
2907
- }
2908
- if (object.value !== undefined && object.value !== null) {
2909
- message.value = Number(object.value);
2910
- } else {
2911
- message.value = 0;
2912
- }
2913
- return message;
2914
- },
2915
-
2916
- toJSON(message: RTPStats_GapHistogramEntry): unknown {
2917
- const obj: any = {};
2918
- message.key !== undefined && (obj.key = message.key);
2919
- message.value !== undefined && (obj.value = message.value);
2920
- return obj;
2921
- },
2922
-
2923
- fromPartial(
2924
- object: DeepPartial<RTPStats_GapHistogramEntry>
2925
- ): RTPStats_GapHistogramEntry {
2926
- const message = {
2927
- ...baseRTPStats_GapHistogramEntry,
2928
- } as RTPStats_GapHistogramEntry;
2929
- message.key = object.key ?? 0;
2930
- message.value = object.value ?? 0;
2931
- return message;
2932
- },
2933
- };
2934
-
2935
- declare var self: any | undefined;
2936
- declare var window: any | undefined;
2937
- declare var global: any | undefined;
2938
- var globalThis: any = (() => {
2939
- if (typeof globalThis !== "undefined") return globalThis;
2940
- if (typeof self !== "undefined") return self;
2941
- if (typeof window !== "undefined") return window;
2942
- if (typeof global !== "undefined") return global;
2943
- throw "Unable to locate global object";
2944
- })();
2945
-
2946
- const atob: (b64: string) => string =
2947
- globalThis.atob ||
2948
- ((b64) => globalThis.Buffer.from(b64, "base64").toString("binary"));
2949
- function bytesFromBase64(b64: string): Uint8Array {
2950
- const bin = atob(b64);
2951
- const arr = new Uint8Array(bin.length);
2952
- for (let i = 0; i < bin.length; ++i) {
2953
- arr[i] = bin.charCodeAt(i);
2954
- }
2955
- return arr;
2956
- }
2957
-
2958
- const btoa: (bin: string) => string =
2959
- globalThis.btoa ||
2960
- ((bin) => globalThis.Buffer.from(bin, "binary").toString("base64"));
2961
- function base64FromBytes(arr: Uint8Array): string {
2962
- const bin: string[] = [];
2963
- for (const byte of arr) {
2964
- bin.push(String.fromCharCode(byte));
2965
- }
2966
- return btoa(bin.join(""));
2967
- }
2968
-
2969
- type Builtin =
2970
- | Date
2971
- | Function
2972
- | Uint8Array
2973
- | string
2974
- | number
2975
- | boolean
2976
- | undefined;
2977
- export type DeepPartial<T> = T extends Builtin
2978
- ? T
2979
- : T extends Array<infer U>
2980
- ? Array<DeepPartial<U>>
2981
- : T extends ReadonlyArray<infer U>
2982
- ? ReadonlyArray<DeepPartial<U>>
2983
- : T extends {}
2984
- ? { [K in keyof T]?: DeepPartial<T[K]> }
2985
- : Partial<T>;
2986
-
2987
- function toTimestamp(date: Date): Timestamp {
2988
- const seconds = date.getTime() / 1_000;
2989
- const nanos = (date.getTime() % 1_000) * 1_000_000;
2990
- return { seconds, nanos };
2991
- }
2992
-
2993
- function fromTimestamp(t: Timestamp): Date {
2994
- let millis = t.seconds * 1_000;
2995
- millis += t.nanos / 1_000_000;
2996
- return new Date(millis);
2997
- }
2998
-
2999
- function fromJsonTimestamp(o: any): Date {
3000
- if (o instanceof Date) {
3001
- return o;
3002
- } else if (typeof o === "string") {
3003
- return new Date(o);
3004
- } else {
3005
- return fromTimestamp(Timestamp.fromJSON(o));
3006
- }
3007
- }
3008
-
3009
- function longToNumber(long: Long): number {
3010
- if (long.gt(Number.MAX_SAFE_INTEGER)) {
3011
- throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
3012
- }
3013
- return long.toNumber();
3014
- }
3015
-
3016
- if (_m0.util.Long !== Long) {
3017
- _m0.util.Long = Long as any;
3018
- _m0.configure();
3019
- }