@stream-io/video-client 0.0.1-alpha.7

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 (157) hide show
  1. package/LICENSE +219 -0
  2. package/README.md +14 -0
  3. package/dist/index.d.ts +23 -0
  4. package/dist/index.js +14663 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/Batcher.d.ts +12 -0
  7. package/dist/src/CallDropScheduler.d.ts +44 -0
  8. package/dist/src/StreamSfuClient.d.ts +25 -0
  9. package/dist/src/StreamVideoClient.d.ts +145 -0
  10. package/dist/src/__tests__/StreamVideoClient.test.d.ts +1 -0
  11. package/dist/src/config/defaultConfigs.d.ts +2 -0
  12. package/dist/src/config/types.d.ts +29 -0
  13. package/dist/src/coordinator/StreamCoordinatorClient.d.ts +19 -0
  14. package/dist/src/coordinator/connection/base64.d.ts +2 -0
  15. package/dist/src/coordinator/connection/client.d.ts +174 -0
  16. package/dist/src/coordinator/connection/connection.d.ts +139 -0
  17. package/dist/src/coordinator/connection/connection_fallback.d.ts +38 -0
  18. package/dist/src/coordinator/connection/errors.d.ts +16 -0
  19. package/dist/src/coordinator/connection/events.d.ts +7 -0
  20. package/dist/src/coordinator/connection/insights.d.ts +58 -0
  21. package/dist/src/coordinator/connection/signing.d.ts +30 -0
  22. package/dist/src/coordinator/connection/token_manager.d.ts +39 -0
  23. package/dist/src/coordinator/connection/types.d.ts +96 -0
  24. package/dist/src/coordinator/connection/utils.d.ts +25 -0
  25. package/dist/src/devices.d.ts +79 -0
  26. package/dist/src/events/call.d.ts +26 -0
  27. package/dist/src/events/internal.d.ts +8 -0
  28. package/dist/src/events/participant.d.ts +21 -0
  29. package/dist/src/events/speaker.d.ts +10 -0
  30. package/dist/src/gen/coordinator/index.d.ts +1664 -0
  31. package/dist/src/gen/google/protobuf/descriptor.d.ts +1650 -0
  32. package/dist/src/gen/google/protobuf/duration.d.ts +113 -0
  33. package/dist/src/gen/google/protobuf/struct.d.ts +184 -0
  34. package/dist/src/gen/google/protobuf/timestamp.d.ts +158 -0
  35. package/dist/src/gen/video/coordinator/broadcast_v1/broadcast.d.ts +66 -0
  36. package/dist/src/gen/video/coordinator/call_v1/call.d.ts +254 -0
  37. package/dist/src/gen/video/coordinator/client_v1_rpc/client_rpc.client.d.ts +351 -0
  38. package/dist/src/gen/video/coordinator/client_v1_rpc/client_rpc.d.ts +1488 -0
  39. package/dist/src/gen/video/coordinator/client_v1_rpc/envelopes.d.ts +143 -0
  40. package/dist/src/gen/video/coordinator/client_v1_rpc/websocket.d.ts +292 -0
  41. package/dist/src/gen/video/coordinator/edge_v1/edge.d.ts +183 -0
  42. package/dist/src/gen/video/coordinator/event_v1/event.d.ts +411 -0
  43. package/dist/src/gen/video/coordinator/geofence_v1/geofence.d.ts +63 -0
  44. package/dist/src/gen/video/coordinator/member_v1/member.d.ts +59 -0
  45. package/dist/src/gen/video/coordinator/participant_v1/participant.d.ts +103 -0
  46. package/dist/src/gen/video/coordinator/push_v1/push.d.ts +240 -0
  47. package/dist/src/gen/video/coordinator/stat_v1/stat.d.ts +308 -0
  48. package/dist/src/gen/video/coordinator/user_v1/user.d.ts +112 -0
  49. package/dist/src/gen/video/coordinator/utils_v1/utils.d.ts +47 -0
  50. package/dist/src/gen/video/sfu/event/events.d.ts +736 -0
  51. package/dist/src/gen/video/sfu/models/models.d.ts +460 -0
  52. package/dist/src/gen/video/sfu/signal_rpc/signal.client.d.ts +89 -0
  53. package/dist/src/gen/video/sfu/signal_rpc/signal.d.ts +320 -0
  54. package/dist/src/helpers/browsers.d.ts +8 -0
  55. package/dist/src/helpers/sound-detector.d.ts +34 -0
  56. package/dist/src/rpc/createClient.d.ts +10 -0
  57. package/dist/src/rpc/index.d.ts +2 -0
  58. package/dist/src/rpc/latency.d.ts +9 -0
  59. package/dist/src/rtc/Call.d.ts +180 -0
  60. package/dist/src/rtc/CallMetadata.d.ts +9 -0
  61. package/dist/src/rtc/Dispatcher.d.ts +9 -0
  62. package/dist/src/rtc/IceTrickleBuffer.d.ts +11 -0
  63. package/dist/src/rtc/callEventHandlers.d.ts +5 -0
  64. package/dist/src/rtc/codecs.d.ts +2 -0
  65. package/dist/src/rtc/helpers/iceCandidate.d.ts +2 -0
  66. package/dist/src/rtc/helpers/tracks.d.ts +3 -0
  67. package/dist/src/rtc/publisher.d.ts +53 -0
  68. package/dist/src/rtc/signal.d.ts +5 -0
  69. package/dist/src/rtc/subscriber.d.ts +7 -0
  70. package/dist/src/rtc/types.d.ts +84 -0
  71. package/dist/src/rtc/videoLayers.d.ts +17 -0
  72. package/dist/src/stats/coordinator-stats-reporter.d.ts +10 -0
  73. package/dist/src/stats/state-store-stats-reporter.d.ts +57 -0
  74. package/dist/src/stats/types.d.ts +42 -0
  75. package/dist/src/store/index.d.ts +2 -0
  76. package/dist/src/store/rxUtils.d.ts +18 -0
  77. package/dist/src/store/stateStore.d.ts +182 -0
  78. package/generate-openapi.sh +32 -0
  79. package/index.ts +30 -0
  80. package/openapitools.json +7 -0
  81. package/package.json +54 -0
  82. package/rollup.config.mjs +48 -0
  83. package/src/Batcher.ts +43 -0
  84. package/src/CallDropScheduler.ts +192 -0
  85. package/src/StreamSfuClient.ts +185 -0
  86. package/src/StreamVideoClient.ts +487 -0
  87. package/src/__tests__/StreamVideoClient.test.ts +83 -0
  88. package/src/config/defaultConfigs.ts +15 -0
  89. package/src/config/types.ts +30 -0
  90. package/src/coordinator/StreamCoordinatorClient.ts +111 -0
  91. package/src/coordinator/connection/base64.ts +80 -0
  92. package/src/coordinator/connection/client.ts +815 -0
  93. package/src/coordinator/connection/connection.ts +750 -0
  94. package/src/coordinator/connection/connection_fallback.ts +239 -0
  95. package/src/coordinator/connection/errors.ts +70 -0
  96. package/src/coordinator/connection/events.ts +10 -0
  97. package/src/coordinator/connection/insights.ts +88 -0
  98. package/src/coordinator/connection/signing.ts +104 -0
  99. package/src/coordinator/connection/token_manager.ts +160 -0
  100. package/src/coordinator/connection/types.ts +120 -0
  101. package/src/coordinator/connection/utils.ts +148 -0
  102. package/src/devices.ts +266 -0
  103. package/src/events/call.ts +166 -0
  104. package/src/events/internal.ts +47 -0
  105. package/src/events/participant.ts +97 -0
  106. package/src/events/speaker.ts +62 -0
  107. package/src/gen/coordinator/index.ts +1653 -0
  108. package/src/gen/google/protobuf/descriptor.ts +3466 -0
  109. package/src/gen/google/protobuf/duration.ts +232 -0
  110. package/src/gen/google/protobuf/struct.ts +481 -0
  111. package/src/gen/google/protobuf/timestamp.ts +291 -0
  112. package/src/gen/video/coordinator/broadcast_v1/broadcast.ts +154 -0
  113. package/src/gen/video/coordinator/call_v1/call.ts +651 -0
  114. package/src/gen/video/coordinator/client_v1_rpc/client_rpc.client.ts +463 -0
  115. package/src/gen/video/coordinator/client_v1_rpc/client_rpc.ts +3819 -0
  116. package/src/gen/video/coordinator/client_v1_rpc/envelopes.ts +424 -0
  117. package/src/gen/video/coordinator/client_v1_rpc/websocket.ts +719 -0
  118. package/src/gen/video/coordinator/edge_v1/edge.ts +532 -0
  119. package/src/gen/video/coordinator/event_v1/event.ts +1171 -0
  120. package/src/gen/video/coordinator/geofence_v1/geofence.ts +128 -0
  121. package/src/gen/video/coordinator/member_v1/member.ts +138 -0
  122. package/src/gen/video/coordinator/participant_v1/participant.ts +261 -0
  123. package/src/gen/video/coordinator/push_v1/push.ts +651 -0
  124. package/src/gen/video/coordinator/stat_v1/stat.ts +656 -0
  125. package/src/gen/video/coordinator/user_v1/user.ts +277 -0
  126. package/src/gen/video/coordinator/utils_v1/utils.ts +98 -0
  127. package/src/gen/video/sfu/event/events.ts +1962 -0
  128. package/src/gen/video/sfu/models/models.ts +1062 -0
  129. package/src/gen/video/sfu/signal_rpc/signal.client.ts +108 -0
  130. package/src/gen/video/sfu/signal_rpc/signal.ts +906 -0
  131. package/src/helpers/browsers.ts +13 -0
  132. package/src/helpers/sound-detector.ts +85 -0
  133. package/src/rpc/createClient.ts +50 -0
  134. package/src/rpc/index.ts +2 -0
  135. package/src/rpc/latency.ts +43 -0
  136. package/src/rtc/Call.ts +585 -0
  137. package/src/rtc/CallMetadata.ts +24 -0
  138. package/src/rtc/Dispatcher.ts +46 -0
  139. package/src/rtc/IceTrickleBuffer.ts +21 -0
  140. package/src/rtc/callEventHandlers.ts +37 -0
  141. package/src/rtc/codecs.ts +61 -0
  142. package/src/rtc/helpers/iceCandidate.ts +16 -0
  143. package/src/rtc/helpers/tracks.ts +18 -0
  144. package/src/rtc/publisher.ts +305 -0
  145. package/src/rtc/signal.ts +34 -0
  146. package/src/rtc/subscriber.ts +85 -0
  147. package/src/rtc/types.ts +105 -0
  148. package/src/rtc/videoLayers.ts +103 -0
  149. package/src/stats/coordinator-stats-reporter.ts +167 -0
  150. package/src/stats/state-store-stats-reporter.ts +364 -0
  151. package/src/stats/types.ts +46 -0
  152. package/src/store/index.ts +2 -0
  153. package/src/store/rxUtils.ts +42 -0
  154. package/src/store/stateStore.ts +341 -0
  155. package/tsconfig.json +25 -0
  156. package/typedoc.json +11 -0
  157. package/vite.config.ts +11 -0
@@ -0,0 +1,532 @@
1
+ /* eslint-disable */
2
+ // @generated by protobuf-ts 2.8.1 with parameter long_type_string,client_generic,server_none,eslint_disable
3
+ // @generated from protobuf file "video/coordinator/edge_v1/edge.proto" (package "stream.video.coordinator.edge_v1", syntax proto3)
4
+ // tslint:disable
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MESSAGE_TYPE } from "@protobuf-ts/runtime";
14
+ import { MessageType } from "@protobuf-ts/runtime";
15
+ /**
16
+ * @generated from protobuf message stream.video.coordinator.edge_v1.Credentials
17
+ */
18
+ export interface Credentials {
19
+ /**
20
+ * Edge server to connect to
21
+ *
22
+ * @generated from protobuf field: stream.video.coordinator.edge_v1.EdgeServer server = 1;
23
+ */
24
+ server?: EdgeServer;
25
+ /**
26
+ * The auth token needed to authenticate to the edge server
27
+ *
28
+ * @generated from protobuf field: string token = 2;
29
+ */
30
+ token: string;
31
+ /**
32
+ * The list of ICE servers
33
+ *
34
+ * @generated from protobuf field: repeated stream.video.coordinator.edge_v1.ICEServer ice_servers = 3;
35
+ */
36
+ iceServers: ICEServer[];
37
+ }
38
+ /**
39
+ * @generated from protobuf message stream.video.coordinator.edge_v1.LatencyMeasurements
40
+ */
41
+ export interface LatencyMeasurements {
42
+ /**
43
+ * @generated from protobuf field: map<string, stream.video.coordinator.edge_v1.Latency> measurements = 1;
44
+ */
45
+ measurements: {
46
+ [key: string]: Latency;
47
+ };
48
+ }
49
+ /**
50
+ * @generated from protobuf message stream.video.coordinator.edge_v1.Latency
51
+ */
52
+ export interface Latency {
53
+ /**
54
+ * @generated from protobuf field: repeated double measurements_seconds = 1;
55
+ */
56
+ measurementsSeconds: number[];
57
+ }
58
+ /**
59
+ * @generated from protobuf message stream.video.coordinator.edge_v1.Coordinates
60
+ */
61
+ export interface Coordinates {
62
+ /**
63
+ * @generated from protobuf field: float lat = 1;
64
+ */
65
+ lat: number;
66
+ /**
67
+ * @generated from protobuf field: float long = 2;
68
+ */
69
+ long: number;
70
+ }
71
+ /**
72
+ * Edges are where we deploy video servers
73
+ *
74
+ * @generated from protobuf message stream.video.coordinator.edge_v1.Edge
75
+ */
76
+ export interface Edge {
77
+ /**
78
+ * @generated from protobuf field: string name = 1;
79
+ */
80
+ name: string;
81
+ /**
82
+ * @generated from protobuf field: string latency_url = 2;
83
+ */
84
+ latencyUrl: string;
85
+ /**
86
+ * @generated from protobuf field: stream.video.coordinator.edge_v1.Coordinates coordinates = 3;
87
+ */
88
+ coordinates?: Coordinates;
89
+ }
90
+ /**
91
+ * @generated from protobuf message stream.video.coordinator.edge_v1.ICEServer
92
+ */
93
+ export interface ICEServer {
94
+ /**
95
+ * @generated from protobuf field: repeated string urls = 1;
96
+ */
97
+ urls: string[];
98
+ /**
99
+ * @generated from protobuf field: string username = 2;
100
+ */
101
+ username: string;
102
+ /**
103
+ * @generated from protobuf field: string password = 3;
104
+ */
105
+ password: string;
106
+ }
107
+ /**
108
+ * @generated from protobuf message stream.video.coordinator.edge_v1.EdgeServer
109
+ */
110
+ export interface EdgeServer {
111
+ /**
112
+ * @generated from protobuf field: string url = 1;
113
+ */
114
+ url: string;
115
+ /**
116
+ * @generated from protobuf field: string edge_name = 2;
117
+ */
118
+ edgeName: string;
119
+ }
120
+ // @generated message type with reflection information, may provide speed optimized methods
121
+ class Credentials$Type extends MessageType<Credentials> {
122
+ constructor() {
123
+ super("stream.video.coordinator.edge_v1.Credentials", [
124
+ { no: 1, name: "server", kind: "message", T: () => EdgeServer, options: { "validate.rules": { message: { required: true } } } },
125
+ { no: 2, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
126
+ { no: 3, name: "ice_servers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => ICEServer }
127
+ ]);
128
+ }
129
+ create(value?: PartialMessage<Credentials>): Credentials {
130
+ const message = { token: "", iceServers: [] };
131
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
132
+ if (value !== undefined)
133
+ reflectionMergePartial<Credentials>(this, message, value);
134
+ return message;
135
+ }
136
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Credentials): Credentials {
137
+ let message = target ?? this.create(), end = reader.pos + length;
138
+ while (reader.pos < end) {
139
+ let [fieldNo, wireType] = reader.tag();
140
+ switch (fieldNo) {
141
+ case /* stream.video.coordinator.edge_v1.EdgeServer server */ 1:
142
+ message.server = EdgeServer.internalBinaryRead(reader, reader.uint32(), options, message.server);
143
+ break;
144
+ case /* string token */ 2:
145
+ message.token = reader.string();
146
+ break;
147
+ case /* repeated stream.video.coordinator.edge_v1.ICEServer ice_servers */ 3:
148
+ message.iceServers.push(ICEServer.internalBinaryRead(reader, reader.uint32(), options));
149
+ break;
150
+ default:
151
+ let u = options.readUnknownField;
152
+ if (u === "throw")
153
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
154
+ let d = reader.skip(wireType);
155
+ if (u !== false)
156
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
157
+ }
158
+ }
159
+ return message;
160
+ }
161
+ internalBinaryWrite(message: Credentials, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
162
+ /* stream.video.coordinator.edge_v1.EdgeServer server = 1; */
163
+ if (message.server)
164
+ EdgeServer.internalBinaryWrite(message.server, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
165
+ /* string token = 2; */
166
+ if (message.token !== "")
167
+ writer.tag(2, WireType.LengthDelimited).string(message.token);
168
+ /* repeated stream.video.coordinator.edge_v1.ICEServer ice_servers = 3; */
169
+ for (let i = 0; i < message.iceServers.length; i++)
170
+ ICEServer.internalBinaryWrite(message.iceServers[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
171
+ let u = options.writeUnknownFields;
172
+ if (u !== false)
173
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
174
+ return writer;
175
+ }
176
+ }
177
+ /**
178
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.Credentials
179
+ */
180
+ export const Credentials = new Credentials$Type();
181
+ // @generated message type with reflection information, may provide speed optimized methods
182
+ class LatencyMeasurements$Type extends MessageType<LatencyMeasurements> {
183
+ constructor() {
184
+ super("stream.video.coordinator.edge_v1.LatencyMeasurements", [
185
+ { no: 1, name: "measurements", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => Latency } }
186
+ ]);
187
+ }
188
+ create(value?: PartialMessage<LatencyMeasurements>): LatencyMeasurements {
189
+ const message = { measurements: {} };
190
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
191
+ if (value !== undefined)
192
+ reflectionMergePartial<LatencyMeasurements>(this, message, value);
193
+ return message;
194
+ }
195
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LatencyMeasurements): LatencyMeasurements {
196
+ let message = target ?? this.create(), end = reader.pos + length;
197
+ while (reader.pos < end) {
198
+ let [fieldNo, wireType] = reader.tag();
199
+ switch (fieldNo) {
200
+ case /* map<string, stream.video.coordinator.edge_v1.Latency> measurements */ 1:
201
+ this.binaryReadMap1(message.measurements, reader, options);
202
+ break;
203
+ default:
204
+ let u = options.readUnknownField;
205
+ if (u === "throw")
206
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
207
+ let d = reader.skip(wireType);
208
+ if (u !== false)
209
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
210
+ }
211
+ }
212
+ return message;
213
+ }
214
+ private binaryReadMap1(map: LatencyMeasurements["measurements"], reader: IBinaryReader, options: BinaryReadOptions): void {
215
+ let len = reader.uint32(), end = reader.pos + len, key: keyof LatencyMeasurements["measurements"] | undefined, val: LatencyMeasurements["measurements"][any] | undefined;
216
+ while (reader.pos < end) {
217
+ let [fieldNo, wireType] = reader.tag();
218
+ switch (fieldNo) {
219
+ case 1:
220
+ key = reader.string();
221
+ break;
222
+ case 2:
223
+ val = Latency.internalBinaryRead(reader, reader.uint32(), options);
224
+ break;
225
+ default: throw new globalThis.Error("unknown map entry field for field stream.video.coordinator.edge_v1.LatencyMeasurements.measurements");
226
+ }
227
+ }
228
+ map[key ?? ""] = val ?? Latency.create();
229
+ }
230
+ internalBinaryWrite(message: LatencyMeasurements, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
231
+ /* map<string, stream.video.coordinator.edge_v1.Latency> measurements = 1; */
232
+ for (let k of Object.keys(message.measurements)) {
233
+ writer.tag(1, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);
234
+ writer.tag(2, WireType.LengthDelimited).fork();
235
+ Latency.internalBinaryWrite(message.measurements[k], writer, options);
236
+ writer.join().join();
237
+ }
238
+ let u = options.writeUnknownFields;
239
+ if (u !== false)
240
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
241
+ return writer;
242
+ }
243
+ }
244
+ /**
245
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.LatencyMeasurements
246
+ */
247
+ export const LatencyMeasurements = new LatencyMeasurements$Type();
248
+ // @generated message type with reflection information, may provide speed optimized methods
249
+ class Latency$Type extends MessageType<Latency> {
250
+ constructor() {
251
+ super("stream.video.coordinator.edge_v1.Latency", [
252
+ { no: 1, name: "measurements_seconds", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 1 /*ScalarType.DOUBLE*/ }
253
+ ]);
254
+ }
255
+ create(value?: PartialMessage<Latency>): Latency {
256
+ const message = { measurementsSeconds: [] };
257
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
258
+ if (value !== undefined)
259
+ reflectionMergePartial<Latency>(this, message, value);
260
+ return message;
261
+ }
262
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Latency): Latency {
263
+ let message = target ?? this.create(), end = reader.pos + length;
264
+ while (reader.pos < end) {
265
+ let [fieldNo, wireType] = reader.tag();
266
+ switch (fieldNo) {
267
+ case /* repeated double measurements_seconds */ 1:
268
+ if (wireType === WireType.LengthDelimited)
269
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
270
+ message.measurementsSeconds.push(reader.double());
271
+ else
272
+ message.measurementsSeconds.push(reader.double());
273
+ break;
274
+ default:
275
+ let u = options.readUnknownField;
276
+ if (u === "throw")
277
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
278
+ let d = reader.skip(wireType);
279
+ if (u !== false)
280
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
281
+ }
282
+ }
283
+ return message;
284
+ }
285
+ internalBinaryWrite(message: Latency, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
286
+ /* repeated double measurements_seconds = 1; */
287
+ if (message.measurementsSeconds.length) {
288
+ writer.tag(1, WireType.LengthDelimited).fork();
289
+ for (let i = 0; i < message.measurementsSeconds.length; i++)
290
+ writer.double(message.measurementsSeconds[i]);
291
+ writer.join();
292
+ }
293
+ let u = options.writeUnknownFields;
294
+ if (u !== false)
295
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
296
+ return writer;
297
+ }
298
+ }
299
+ /**
300
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.Latency
301
+ */
302
+ export const Latency = new Latency$Type();
303
+ // @generated message type with reflection information, may provide speed optimized methods
304
+ class Coordinates$Type extends MessageType<Coordinates> {
305
+ constructor() {
306
+ super("stream.video.coordinator.edge_v1.Coordinates", [
307
+ { no: 1, name: "lat", kind: "scalar", T: 2 /*ScalarType.FLOAT*/ },
308
+ { no: 2, name: "long", kind: "scalar", T: 2 /*ScalarType.FLOAT*/ }
309
+ ]);
310
+ }
311
+ create(value?: PartialMessage<Coordinates>): Coordinates {
312
+ const message = { lat: 0, long: 0 };
313
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
314
+ if (value !== undefined)
315
+ reflectionMergePartial<Coordinates>(this, message, value);
316
+ return message;
317
+ }
318
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Coordinates): Coordinates {
319
+ let message = target ?? this.create(), end = reader.pos + length;
320
+ while (reader.pos < end) {
321
+ let [fieldNo, wireType] = reader.tag();
322
+ switch (fieldNo) {
323
+ case /* float lat */ 1:
324
+ message.lat = reader.float();
325
+ break;
326
+ case /* float long */ 2:
327
+ message.long = reader.float();
328
+ break;
329
+ default:
330
+ let u = options.readUnknownField;
331
+ if (u === "throw")
332
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
333
+ let d = reader.skip(wireType);
334
+ if (u !== false)
335
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
336
+ }
337
+ }
338
+ return message;
339
+ }
340
+ internalBinaryWrite(message: Coordinates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
341
+ /* float lat = 1; */
342
+ if (message.lat !== 0)
343
+ writer.tag(1, WireType.Bit32).float(message.lat);
344
+ /* float long = 2; */
345
+ if (message.long !== 0)
346
+ writer.tag(2, WireType.Bit32).float(message.long);
347
+ let u = options.writeUnknownFields;
348
+ if (u !== false)
349
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
350
+ return writer;
351
+ }
352
+ }
353
+ /**
354
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.Coordinates
355
+ */
356
+ export const Coordinates = new Coordinates$Type();
357
+ // @generated message type with reflection information, may provide speed optimized methods
358
+ class Edge$Type extends MessageType<Edge> {
359
+ constructor() {
360
+ super("stream.video.coordinator.edge_v1.Edge", [
361
+ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
362
+ { no: 2, name: "latency_url", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
363
+ { no: 3, name: "coordinates", kind: "message", T: () => Coordinates }
364
+ ]);
365
+ }
366
+ create(value?: PartialMessage<Edge>): Edge {
367
+ const message = { name: "", latencyUrl: "" };
368
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
369
+ if (value !== undefined)
370
+ reflectionMergePartial<Edge>(this, message, value);
371
+ return message;
372
+ }
373
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Edge): Edge {
374
+ let message = target ?? this.create(), end = reader.pos + length;
375
+ while (reader.pos < end) {
376
+ let [fieldNo, wireType] = reader.tag();
377
+ switch (fieldNo) {
378
+ case /* string name */ 1:
379
+ message.name = reader.string();
380
+ break;
381
+ case /* string latency_url */ 2:
382
+ message.latencyUrl = reader.string();
383
+ break;
384
+ case /* stream.video.coordinator.edge_v1.Coordinates coordinates */ 3:
385
+ message.coordinates = Coordinates.internalBinaryRead(reader, reader.uint32(), options, message.coordinates);
386
+ break;
387
+ default:
388
+ let u = options.readUnknownField;
389
+ if (u === "throw")
390
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
391
+ let d = reader.skip(wireType);
392
+ if (u !== false)
393
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
394
+ }
395
+ }
396
+ return message;
397
+ }
398
+ internalBinaryWrite(message: Edge, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
399
+ /* string name = 1; */
400
+ if (message.name !== "")
401
+ writer.tag(1, WireType.LengthDelimited).string(message.name);
402
+ /* string latency_url = 2; */
403
+ if (message.latencyUrl !== "")
404
+ writer.tag(2, WireType.LengthDelimited).string(message.latencyUrl);
405
+ /* stream.video.coordinator.edge_v1.Coordinates coordinates = 3; */
406
+ if (message.coordinates)
407
+ Coordinates.internalBinaryWrite(message.coordinates, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
408
+ let u = options.writeUnknownFields;
409
+ if (u !== false)
410
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
411
+ return writer;
412
+ }
413
+ }
414
+ /**
415
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.Edge
416
+ */
417
+ export const Edge = new Edge$Type();
418
+ // @generated message type with reflection information, may provide speed optimized methods
419
+ class ICEServer$Type extends MessageType<ICEServer> {
420
+ constructor() {
421
+ super("stream.video.coordinator.edge_v1.ICEServer", [
422
+ { no: 1, name: "urls", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
423
+ { no: 2, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
424
+ { no: 3, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
425
+ ]);
426
+ }
427
+ create(value?: PartialMessage<ICEServer>): ICEServer {
428
+ const message = { urls: [], username: "", password: "" };
429
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
430
+ if (value !== undefined)
431
+ reflectionMergePartial<ICEServer>(this, message, value);
432
+ return message;
433
+ }
434
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ICEServer): ICEServer {
435
+ let message = target ?? this.create(), end = reader.pos + length;
436
+ while (reader.pos < end) {
437
+ let [fieldNo, wireType] = reader.tag();
438
+ switch (fieldNo) {
439
+ case /* repeated string urls */ 1:
440
+ message.urls.push(reader.string());
441
+ break;
442
+ case /* string username */ 2:
443
+ message.username = reader.string();
444
+ break;
445
+ case /* string password */ 3:
446
+ message.password = reader.string();
447
+ break;
448
+ default:
449
+ let u = options.readUnknownField;
450
+ if (u === "throw")
451
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
452
+ let d = reader.skip(wireType);
453
+ if (u !== false)
454
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
455
+ }
456
+ }
457
+ return message;
458
+ }
459
+ internalBinaryWrite(message: ICEServer, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
460
+ /* repeated string urls = 1; */
461
+ for (let i = 0; i < message.urls.length; i++)
462
+ writer.tag(1, WireType.LengthDelimited).string(message.urls[i]);
463
+ /* string username = 2; */
464
+ if (message.username !== "")
465
+ writer.tag(2, WireType.LengthDelimited).string(message.username);
466
+ /* string password = 3; */
467
+ if (message.password !== "")
468
+ writer.tag(3, WireType.LengthDelimited).string(message.password);
469
+ let u = options.writeUnknownFields;
470
+ if (u !== false)
471
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
472
+ return writer;
473
+ }
474
+ }
475
+ /**
476
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.ICEServer
477
+ */
478
+ export const ICEServer = new ICEServer$Type();
479
+ // @generated message type with reflection information, may provide speed optimized methods
480
+ class EdgeServer$Type extends MessageType<EdgeServer> {
481
+ constructor() {
482
+ super("stream.video.coordinator.edge_v1.EdgeServer", [
483
+ { no: 1, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
484
+ { no: 2, name: "edge_name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
485
+ ]);
486
+ }
487
+ create(value?: PartialMessage<EdgeServer>): EdgeServer {
488
+ const message = { url: "", edgeName: "" };
489
+ globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
490
+ if (value !== undefined)
491
+ reflectionMergePartial<EdgeServer>(this, message, value);
492
+ return message;
493
+ }
494
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EdgeServer): EdgeServer {
495
+ let message = target ?? this.create(), end = reader.pos + length;
496
+ while (reader.pos < end) {
497
+ let [fieldNo, wireType] = reader.tag();
498
+ switch (fieldNo) {
499
+ case /* string url */ 1:
500
+ message.url = reader.string();
501
+ break;
502
+ case /* string edge_name */ 2:
503
+ message.edgeName = reader.string();
504
+ break;
505
+ default:
506
+ let u = options.readUnknownField;
507
+ if (u === "throw")
508
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
509
+ let d = reader.skip(wireType);
510
+ if (u !== false)
511
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
512
+ }
513
+ }
514
+ return message;
515
+ }
516
+ internalBinaryWrite(message: EdgeServer, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
517
+ /* string url = 1; */
518
+ if (message.url !== "")
519
+ writer.tag(1, WireType.LengthDelimited).string(message.url);
520
+ /* string edge_name = 2; */
521
+ if (message.edgeName !== "")
522
+ writer.tag(2, WireType.LengthDelimited).string(message.edgeName);
523
+ let u = options.writeUnknownFields;
524
+ if (u !== false)
525
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
526
+ return writer;
527
+ }
528
+ }
529
+ /**
530
+ * @generated MessageType for protobuf message stream.video.coordinator.edge_v1.EdgeServer
531
+ */
532
+ export const EdgeServer = new EdgeServer$Type();