@observertc/observer-js 0.9.23-beta → 0.9.24-beta

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 (51) hide show
  1. package/lib/Observer.d.ts +26 -0
  2. package/lib/Observer.d.ts.map +1 -1
  3. package/lib/Observer.js +8 -0
  4. package/lib/entries/CallEntry.d.ts +8 -0
  5. package/lib/entries/CallEntry.d.ts.map +1 -1
  6. package/lib/entries/ClientEntry.d.ts +4 -0
  7. package/lib/entries/ClientEntry.d.ts.map +1 -1
  8. package/lib/entries/ClientEntry.js +13 -0
  9. package/lib/entries/InboundTrackEntry.d.ts +12 -0
  10. package/lib/entries/InboundTrackEntry.d.ts.map +1 -1
  11. package/lib/entries/OutboundTrackEntry.d.ts +12 -0
  12. package/lib/entries/OutboundTrackEntry.d.ts.map +1 -1
  13. package/lib/entries/PeerConnectionEntry.d.ts +36 -0
  14. package/lib/entries/PeerConnectionEntry.d.ts.map +1 -1
  15. package/lib/evaluators/SetClientsCoordinateEvaluator.d.ts +9 -0
  16. package/lib/evaluators/SetClientsCoordinateEvaluator.d.ts.map +1 -0
  17. package/lib/evaluators/SetClientsCoordinateEvaluator.js +95 -0
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/middlewares/visitors/visitInboundAudioTrack.d.ts.map +1 -1
  21. package/lib/middlewares/visitors/visitInboundAudioTrack.js +2 -2
  22. package/lib/middlewares/visitors/visitInboundVideoTrack.d.ts.map +1 -1
  23. package/lib/middlewares/visitors/visitInboundVideoTrack.js +1 -0
  24. package/lib/middlewares/visitors/visitPeerConnection.d.ts.map +1 -1
  25. package/lib/middlewares/visitors/visitPeerConnection.js +24 -21
  26. package/lib/models/Models.d.ts +83 -0
  27. package/lib/models/Models.d.ts.map +1 -1
  28. package/lib/models/Models.js +88 -1
  29. package/lib/processes/joinClientProcess.d.ts.map +1 -1
  30. package/lib/processes/joinClientProcess.js +3 -0
  31. package/lib/samples/ObservedCall.d.ts +1 -0
  32. package/lib/samples/ObservedCall.d.ts.map +1 -1
  33. package/lib/sinks/ObserverSink.d.ts.map +1 -1
  34. package/lib/sinks/ObserverSink.js +1 -0
  35. package/lib/sources/ObservedCallSource.d.ts +1 -0
  36. package/lib/sources/ObservedCallSource.d.ts.map +1 -1
  37. package/lib/sources/Sources.js +4 -4
  38. package/package.json +2 -1
  39. package/src/Observer.ts +10 -0
  40. package/src/entries/ClientEntry.ts +16 -0
  41. package/src/evaluators/SetClientsCoordinateEvaluator.ts +78 -0
  42. package/src/index.ts +1 -0
  43. package/src/middlewares/visitors/visitInboundAudioTrack.ts +4 -2
  44. package/src/middlewares/visitors/visitInboundVideoTrack.ts +1 -0
  45. package/src/middlewares/visitors/visitPeerConnection.ts +64 -59
  46. package/src/models/Models.ts +155 -0
  47. package/src/processes/joinClientProcess.ts +3 -0
  48. package/src/samples/ObservedCall.ts +2 -1
  49. package/src/sinks/ObserverSink.ts +1 -0
  50. package/src/sources/ObservedCallSource.ts +2 -0
  51. package/src/sources/Sources.ts +4 -4
@@ -82,27 +82,30 @@ function visitPeerConnection(observedPeerConnection, storedClient, storedPeerCon
82
82
  mediaUnitId }, iceCandidatePair), { timestamp, sampleSeq: -1 });
83
83
  reports.addIceCandidatePairReport(report);
84
84
  }
85
- if (fetchSamples) {
86
- storedPeerConnection.icelocalCandidates = [];
87
- for (const iceLocalCandidate of observedPeerConnection.iceLocalCandidates()) {
88
- const { priority } = iceLocalCandidate, sample = __rest(iceLocalCandidate, ["priority"]);
89
- storedPeerConnection.icelocalCandidates.push(new samples_pb_1.Samples_ClientSample_IceLocalCandidate(Object.assign(Object.assign({}, sample), { priority: BigInt(priority !== null && priority !== void 0 ? priority : -1) })));
90
- }
91
- storedPeerConnection.iceRemoteCandidates = [];
92
- for (const iceRemoteCandidate of observedPeerConnection.iceRemoteCandidates()) {
93
- const { priority } = iceRemoteCandidate, sample = __rest(iceRemoteCandidate, ["priority"]);
94
- storedPeerConnection.iceRemoteCandidates.push(new samples_pb_1.Samples_ClientSample_IceRemoteCandidate(Object.assign(Object.assign({}, sample), { priority: BigInt(priority !== null && priority !== void 0 ? priority : -1) })));
95
- }
96
- storedPeerConnection.iceCandidatePairs = [];
97
- for (const iceCandidatePair of observedPeerConnection.iceCandidatePairs()) {
98
- const { bytesDiscardedOnSend, bytesReceived, bytesSent, lastPacketReceivedTimestamp, lastPacketSentTimestamp } = iceCandidatePair, sample = __rest(iceCandidatePair, ["bytesDiscardedOnSend", "bytesReceived", "bytesSent", "lastPacketReceivedTimestamp", "lastPacketSentTimestamp"]);
99
- storedPeerConnection.iceCandidatePairs.push(new samples_pb_1.Samples_ClientSample_IceCandidatePair(Object.assign(Object.assign({}, sample), { bytesDiscardedOnSend: BigInt(bytesDiscardedOnSend !== null && bytesDiscardedOnSend !== void 0 ? bytesDiscardedOnSend : -1), bytesReceived: BigInt(bytesReceived !== null && bytesReceived !== void 0 ? bytesReceived : -1), bytesSent: BigInt(bytesSent !== null && bytesSent !== void 0 ? bytesSent : -1), lastPacketReceivedTimestamp: BigInt(lastPacketReceivedTimestamp !== null && lastPacketReceivedTimestamp !== void 0 ? lastPacketReceivedTimestamp : -1), lastPacketSentTimestamp: BigInt(lastPacketSentTimestamp !== null && lastPacketSentTimestamp !== void 0 ? lastPacketSentTimestamp : -1) })));
100
- }
101
- storedPeerConnection.transports = [];
102
- for (const pcTransport of observedPeerConnection.transportSamples()) {
103
- const { bytesReceived, bytesSent } = pcTransport, sample = __rest(pcTransport, ["bytesReceived", "bytesSent"]);
104
- storedPeerConnection.transports.push(new samples_pb_1.Samples_ClientSample_PeerConnectionTransport(Object.assign(Object.assign({}, sample), { bytesReceived: BigInt(bytesReceived !== null && bytesReceived !== void 0 ? bytesReceived : -1), bytesSent: BigInt(bytesSent !== null && bytesSent !== void 0 ? bytesSent : -1) })));
105
- }
85
+ if (!fetchSamples)
86
+ return;
87
+ // restricted area
88
+ storedPeerConnection.icelocalCandidates = [];
89
+ for (const iceLocalCandidate of observedPeerConnection.iceLocalCandidates()) {
90
+ const { priority } = iceLocalCandidate, sample = __rest(iceLocalCandidate, ["priority"]);
91
+ storedPeerConnection.icelocalCandidates.push(new samples_pb_1.Samples_ClientSample_IceLocalCandidate(Object.assign(Object.assign({}, sample), { priority: BigInt(priority !== null && priority !== void 0 ? priority : -1) })));
92
+ }
93
+ storedPeerConnection.iceRemoteCandidates = [];
94
+ for (const iceRemoteCandidate of observedPeerConnection.iceRemoteCandidates()) {
95
+ const { priority } = iceRemoteCandidate, sample = __rest(iceRemoteCandidate, ["priority"]);
96
+ storedPeerConnection.iceRemoteCandidates.push(new samples_pb_1.Samples_ClientSample_IceRemoteCandidate(Object.assign(Object.assign({}, sample), { priority: BigInt(priority !== null && priority !== void 0 ? priority : -1) })));
97
+ }
98
+ storedPeerConnection.iceCandidatePairs = [];
99
+ for (const iceCandidatePair of observedPeerConnection.iceCandidatePairs()) {
100
+ const { bytesDiscardedOnSend, bytesReceived, bytesSent, lastPacketReceivedTimestamp, lastPacketSentTimestamp } = iceCandidatePair, sample = __rest(iceCandidatePair, ["bytesDiscardedOnSend", "bytesReceived", "bytesSent", "lastPacketReceivedTimestamp", "lastPacketSentTimestamp"]);
101
+ storedPeerConnection.iceCandidatePairs.push(new samples_pb_1.Samples_ClientSample_IceCandidatePair(Object.assign(Object.assign({}, sample), { bytesDiscardedOnSend: BigInt(bytesDiscardedOnSend !== null && bytesDiscardedOnSend !== void 0 ? bytesDiscardedOnSend : -1), bytesReceived: BigInt(bytesReceived !== null && bytesReceived !== void 0 ? bytesReceived : -1), bytesSent: BigInt(bytesSent !== null && bytesSent !== void 0 ? bytesSent : -1), lastPacketReceivedTimestamp: BigInt(lastPacketReceivedTimestamp !== null && lastPacketReceivedTimestamp !== void 0 ? lastPacketReceivedTimestamp : -1), lastPacketSentTimestamp: BigInt(lastPacketSentTimestamp !== null && lastPacketSentTimestamp !== void 0 ? lastPacketSentTimestamp : -1) })));
102
+ }
103
+ storedPeerConnection.transports = [];
104
+ for (const pcTransport of observedPeerConnection.transportSamples()) {
105
+ const { bytesReceived, bytesSent } = pcTransport, sample = __rest(pcTransport, ["bytesReceived", "bytesSent"]);
106
+ storedPeerConnection.transports.push(new samples_pb_1.Samples_ClientSample_PeerConnectionTransport(Object.assign(Object.assign({}, sample), { bytesReceived: BigInt(bytesReceived !== null && bytesReceived !== void 0 ? bytesReceived : -1), bytesSent: BigInt(bytesSent !== null && bytesSent !== void 0 ? bytesSent : -1) })));
106
107
  }
108
+ // storedPeerConnection.stats = new Models.PeerConnectionStats({
109
+ // });
107
110
  }
108
111
  exports.visitPeerConnection = visitPeerConnection;
@@ -34,6 +34,27 @@ export declare class Call extends Message<Call> {
34
34
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Call;
35
35
  static equals(a: Call | PlainMessage<Call> | undefined, b: Call | PlainMessage<Call> | undefined): boolean;
36
36
  }
37
+ /**
38
+ * @generated from message org.observertc.observer.models.ClientCoordinate
39
+ */
40
+ export declare class ClientCoordinate extends Message<ClientCoordinate> {
41
+ /**
42
+ * @generated from field: required float latitude = 1;
43
+ */
44
+ latitude?: number;
45
+ /**
46
+ * @generated from field: required float longitude = 2;
47
+ */
48
+ longitude?: number;
49
+ constructor(data?: PartialMessage<ClientCoordinate>);
50
+ static readonly runtime: typeof proto2;
51
+ static readonly typeName = "org.observertc.observer.models.ClientCoordinate";
52
+ static readonly fields: FieldList;
53
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ClientCoordinate;
54
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ClientCoordinate;
55
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ClientCoordinate;
56
+ static equals(a: ClientCoordinate | PlainMessage<ClientCoordinate> | undefined, b: ClientCoordinate | PlainMessage<ClientCoordinate> | undefined): boolean;
57
+ }
37
58
  /**
38
59
  * @generated from message org.observertc.observer.models.Client
39
60
  */
@@ -98,6 +119,18 @@ export declare class Client extends Message<Client> {
98
119
  * @generated from field: optional org.observertc.schemas.protobuf.Samples.ClientSample.Engine engine = 15;
99
120
  */
100
121
  engine?: Samples_ClientSample_Engine;
122
+ /**
123
+ * message Stats {
124
+ * optional double maxRttInS = 1;
125
+ * optional double minRttInS = 2;
126
+ * optional string location = 3;
127
+ * }
128
+ *
129
+ * optional Stats stats = 13;
130
+ *
131
+ * @generated from field: optional org.observertc.observer.models.ClientCoordinate coordinates = 16;
132
+ */
133
+ coordinates?: ClientCoordinate;
101
134
  constructor(data?: PartialMessage<Client>);
102
135
  static readonly runtime: typeof proto2;
103
136
  static readonly typeName = "org.observertc.observer.models.Client";
@@ -188,6 +221,56 @@ export declare class PeerConnection extends Message<PeerConnection> {
188
221
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PeerConnection;
189
222
  static equals(a: PeerConnection | PlainMessage<PeerConnection> | undefined, b: PeerConnection | PlainMessage<PeerConnection> | undefined): boolean;
190
223
  }
224
+ /**
225
+ * @generated from message org.observertc.observer.models.InboundTrackVideoStats
226
+ */
227
+ export declare class InboundTrackVideoStats extends Message<InboundTrackVideoStats> {
228
+ /**
229
+ * @generated from field: required int32 ssrc = 1;
230
+ */
231
+ ssrc?: number;
232
+ /**
233
+ * @generated from field: optional float fps = 2;
234
+ */
235
+ fps?: number;
236
+ /**
237
+ * @generated from field: optional org.observertc.schemas.protobuf.Samples.ClientSample.InboundVideoTrack sample = 4;
238
+ */
239
+ sample?: Samples_ClientSample_InboundVideoTrack;
240
+ constructor(data?: PartialMessage<InboundTrackVideoStats>);
241
+ static readonly runtime: typeof proto2;
242
+ static readonly typeName = "org.observertc.observer.models.InboundTrackVideoStats";
243
+ static readonly fields: FieldList;
244
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InboundTrackVideoStats;
245
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InboundTrackVideoStats;
246
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InboundTrackVideoStats;
247
+ static equals(a: InboundTrackVideoStats | PlainMessage<InboundTrackVideoStats> | undefined, b: InboundTrackVideoStats | PlainMessage<InboundTrackVideoStats> | undefined): boolean;
248
+ }
249
+ /**
250
+ * @generated from message org.observertc.observer.models.InboundTrackStats
251
+ */
252
+ export declare class InboundTrackStats extends Message<InboundTrackStats> {
253
+ /**
254
+ * @generated from field: optional float bitrate = 1;
255
+ */
256
+ bitrate?: number;
257
+ /**
258
+ * @generated from field: optional float fractionalLoss = 2;
259
+ */
260
+ fractionalLoss?: number;
261
+ /**
262
+ * @generated from field: optional float avgRttInS = 3;
263
+ */
264
+ avgRttInS?: number;
265
+ constructor(data?: PartialMessage<InboundTrackStats>);
266
+ static readonly runtime: typeof proto2;
267
+ static readonly typeName = "org.observertc.observer.models.InboundTrackStats";
268
+ static readonly fields: FieldList;
269
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InboundTrackStats;
270
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InboundTrackStats;
271
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InboundTrackStats;
272
+ static equals(a: InboundTrackStats | PlainMessage<InboundTrackStats> | undefined, b: InboundTrackStats | PlainMessage<InboundTrackStats> | undefined): boolean;
273
+ }
191
274
  /**
192
275
  * @generated from message org.observertc.observer.models.InboundTrack
193
276
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/models/Models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,sCAAsC,EAAE,uCAAuC,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,oCAAoC,EAAE,uCAAuC,EAAE,uCAAuC,EAAE,4CAA4C,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAEte;;GAEG;AACH,qBAAa,IAAK,SAAQ,OAAO,CAAC,IAAI,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAM;gBAEb,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC;IAKvC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,yCAAyC;IACjE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAM9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAIhF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAI/E,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAInF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,OAAO;CAG3G;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,OAAO,CAAC,MAAM,CAAC;IACzC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,4BAA4B,CAAC;IAEvC;;OAEG;IACH,eAAe,CAAC,EAAE,oCAAoC,CAAC;IAEvD;;OAEG;IACH,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,2BAA2B,CAAC;gBAEzB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IAKzC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,2CAA2C;IACnE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAgB9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAIlF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM;IAIjF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM;IAIrF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,OAAO;CAGnH;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,cAAc,CAAC;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC;;OAEG;IACH,kBAAkB,EAAE,sCAAsC,EAAE,CAAM;IAElE;;OAEG;IACH,mBAAmB,EAAE,uCAAuC,EAAE,CAAM;IAEpE;;OAEG;IACH,iBAAiB,EAAE,qCAAqC,EAAE,CAAM;IAEhE;;OAEG;IACH,UAAU,EAAE,4CAA4C,EAAE,CAAM;IAEhE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC;IAKjD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,mDAAmD;IAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAkB9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,cAAc;IAI1F,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,cAAc;IAIzF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,cAAc;IAI7F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,OAAO;CAGnJ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,YAAY,CAAC;IACrD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;OAEG;IACH,UAAU,EAAE,sCAAsC,EAAE,CAAM;IAE1D;;OAEG;IACH,UAAU,EAAE,sCAAsC,EAAE,CAAM;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;IAK/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,iDAAiD;IACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAkB9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY;IAIxF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;IAIvF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;IAI3F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO;CAG3I;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO,CAAC,aAAa,CAAC;IACvD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;OAEG;IACH,UAAU,EAAE,uCAAuC,EAAE,CAAM;IAE3D;;OAEG;IACH,UAAU,EAAE,uCAAuC,EAAE,CAAM;IAE3D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;IAKhD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,kDAAkD;IAC1E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAiB9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,aAAa;IAIzF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,aAAa;IAIxF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,aAAa;IAI5F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,OAAO;CAG/I;AAED;;GAEG;AACH,qBAAa,GAAI,SAAQ,OAAO,CAAC,GAAG,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;gBAEX,IAAI,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC;IAKtC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,wCAAwC;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAU9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,GAAG;IAI/E,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG;IAI9E,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG;IAIlF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO;CAGvG;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,YAAY,CAAC;IACrD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjC;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;IAK/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,iDAAiD;IACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAa9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY;IAIxF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;IAIvF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;IAI3F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO;CAG3I;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,IAAI,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC;IAKnD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,qDAAqD;IAC7E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAY9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,gBAAgB;IAI5F,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,gBAAgB;IAI3F,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,gBAAgB;IAI/F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAAG,OAAO;CAG3J;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC/D;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,IAAI,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC;IAKpD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sDAAsD;IAC9E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAa9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAI7F,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,iBAAiB;IAI5F,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,iBAAiB;IAIhG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAAG,OAAO;CAG/J;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,cAAc,CAAC;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC;IAKjD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,QAAQ,mDAAmD;IAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAU9B;IAEH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,cAAc;IAI1F,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,cAAc;IAIzF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,cAAc;IAI7F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,OAAO;CAGnJ"}
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/models/Models.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable */
5
5
  // @ts-nocheck
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SfuSctpChannel = exports.SfuOutboundRtpPad = exports.SfuInboundRtpPad = exports.SfuTransport = exports.Sfu = exports.OutboundTrack = exports.InboundTrack = exports.PeerConnection = exports.Client = exports.Call = void 0;
7
+ exports.SfuSctpChannel = exports.SfuOutboundRtpPad = exports.SfuInboundRtpPad = exports.SfuTransport = exports.Sfu = exports.OutboundTrack = exports.InboundTrack = exports.InboundTrackStats = exports.InboundTrackVideoStats = exports.PeerConnection = exports.Client = exports.ClientCoordinate = exports.Call = void 0;
8
8
  const protobuf_1 = require("@bufbuild/protobuf");
9
9
  const samples_pb_1 = require("./samples_pb");
10
10
  /**
@@ -42,6 +42,34 @@ Call.fields = protobuf_1.proto2.util.newFieldList(() => [
42
42
  { no: 4, name: "started", kind: "scalar", T: 4 /* ScalarType.UINT64 */ },
43
43
  { no: 5, name: "clientIds", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
44
44
  ]);
45
+ /**
46
+ * @generated from message org.observertc.observer.models.ClientCoordinate
47
+ */
48
+ class ClientCoordinate extends protobuf_1.Message {
49
+ constructor(data) {
50
+ super();
51
+ protobuf_1.proto2.util.initPartial(data, this);
52
+ }
53
+ static fromBinary(bytes, options) {
54
+ return new ClientCoordinate().fromBinary(bytes, options);
55
+ }
56
+ static fromJson(jsonValue, options) {
57
+ return new ClientCoordinate().fromJson(jsonValue, options);
58
+ }
59
+ static fromJsonString(jsonString, options) {
60
+ return new ClientCoordinate().fromJsonString(jsonString, options);
61
+ }
62
+ static equals(a, b) {
63
+ return protobuf_1.proto2.util.equals(ClientCoordinate, a, b);
64
+ }
65
+ }
66
+ exports.ClientCoordinate = ClientCoordinate;
67
+ ClientCoordinate.runtime = protobuf_1.proto2;
68
+ ClientCoordinate.typeName = "org.observertc.observer.models.ClientCoordinate";
69
+ ClientCoordinate.fields = protobuf_1.proto2.util.newFieldList(() => [
70
+ { no: 1, name: "latitude", kind: "scalar", T: 2 /* ScalarType.FLOAT */ },
71
+ { no: 2, name: "longitude", kind: "scalar", T: 2 /* ScalarType.FLOAT */ },
72
+ ]);
45
73
  /**
46
74
  * @generated from message org.observertc.observer.models.Client
47
75
  */
@@ -86,6 +114,7 @@ Client.fields = protobuf_1.proto2.util.newFieldList(() => [
86
114
  { no: 13, name: "operationSystem", kind: "message", T: samples_pb_1.Samples_ClientSample_OperationSystem, opt: true },
87
115
  { no: 14, name: "platform", kind: "message", T: samples_pb_1.Samples_ClientSample_Platform, opt: true },
88
116
  { no: 15, name: "engine", kind: "message", T: samples_pb_1.Samples_ClientSample_Engine, opt: true },
117
+ { no: 16, name: "coordinates", kind: "message", T: ClientCoordinate, opt: true },
89
118
  ]);
90
119
  /**
91
120
  * @generated from message org.observertc.observer.models.PeerConnection
@@ -154,6 +183,64 @@ PeerConnection.fields = protobuf_1.proto2.util.newFieldList(() => [
154
183
  { no: 16, name: "transports", kind: "message", T: samples_pb_1.Samples_ClientSample_PeerConnectionTransport, repeated: true },
155
184
  { no: 17, name: "touched", kind: "scalar", T: 4 /* ScalarType.UINT64 */, opt: true },
156
185
  ]);
186
+ /**
187
+ * @generated from message org.observertc.observer.models.InboundTrackVideoStats
188
+ */
189
+ class InboundTrackVideoStats extends protobuf_1.Message {
190
+ constructor(data) {
191
+ super();
192
+ protobuf_1.proto2.util.initPartial(data, this);
193
+ }
194
+ static fromBinary(bytes, options) {
195
+ return new InboundTrackVideoStats().fromBinary(bytes, options);
196
+ }
197
+ static fromJson(jsonValue, options) {
198
+ return new InboundTrackVideoStats().fromJson(jsonValue, options);
199
+ }
200
+ static fromJsonString(jsonString, options) {
201
+ return new InboundTrackVideoStats().fromJsonString(jsonString, options);
202
+ }
203
+ static equals(a, b) {
204
+ return protobuf_1.proto2.util.equals(InboundTrackVideoStats, a, b);
205
+ }
206
+ }
207
+ exports.InboundTrackVideoStats = InboundTrackVideoStats;
208
+ InboundTrackVideoStats.runtime = protobuf_1.proto2;
209
+ InboundTrackVideoStats.typeName = "org.observertc.observer.models.InboundTrackVideoStats";
210
+ InboundTrackVideoStats.fields = protobuf_1.proto2.util.newFieldList(() => [
211
+ { no: 1, name: "ssrc", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
212
+ { no: 2, name: "fps", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
213
+ { no: 4, name: "sample", kind: "message", T: samples_pb_1.Samples_ClientSample_InboundVideoTrack, opt: true },
214
+ ]);
215
+ /**
216
+ * @generated from message org.observertc.observer.models.InboundTrackStats
217
+ */
218
+ class InboundTrackStats extends protobuf_1.Message {
219
+ constructor(data) {
220
+ super();
221
+ protobuf_1.proto2.util.initPartial(data, this);
222
+ }
223
+ static fromBinary(bytes, options) {
224
+ return new InboundTrackStats().fromBinary(bytes, options);
225
+ }
226
+ static fromJson(jsonValue, options) {
227
+ return new InboundTrackStats().fromJson(jsonValue, options);
228
+ }
229
+ static fromJsonString(jsonString, options) {
230
+ return new InboundTrackStats().fromJsonString(jsonString, options);
231
+ }
232
+ static equals(a, b) {
233
+ return protobuf_1.proto2.util.equals(InboundTrackStats, a, b);
234
+ }
235
+ }
236
+ exports.InboundTrackStats = InboundTrackStats;
237
+ InboundTrackStats.runtime = protobuf_1.proto2;
238
+ InboundTrackStats.typeName = "org.observertc.observer.models.InboundTrackStats";
239
+ InboundTrackStats.fields = protobuf_1.proto2.util.newFieldList(() => [
240
+ { no: 1, name: "bitrate", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
241
+ { no: 2, name: "fractionalLoss", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
242
+ { no: 3, name: "avgRttInS", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
243
+ ]);
157
244
  /**
158
245
  * @generated from message org.observertc.observer.models.InboundTrack
159
246
  */
@@ -1 +1 @@
1
- {"version":3,"file":"joinClientProcess.d.ts","sourceRoot":"","sources":["../../src/processes/joinClientProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAEtC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,gBAAgB,GACvB,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAiHlD"}
1
+ {"version":3,"file":"joinClientProcess.d.ts","sourceRoot":"","sources":["../../src/processes/joinClientProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAEtC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,gBAAgB,GACvB,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAoHlD"}
@@ -90,6 +90,9 @@ function createJoinClientProcess(storageProvider, reports) {
90
90
  continue;
91
91
  }
92
92
  const callEvent = (0, callEventReports_1.createCallStartedEventReport)(serviceId, roomId, callId, Number(started));
93
+ // if ((evaluatorContext?.observedCalls as ObservedCalls).getObservedCall(callId)) {
94
+ // reports.addCallEventReport(callEvent);
95
+ // }
93
96
  reports.addCallEventReport(callEvent);
94
97
  evaluatorContext === null || evaluatorContext === void 0 ? void 0 : evaluatorContext.startedCallIds.push(callId);
95
98
  }
@@ -3,6 +3,7 @@ export interface ObservedCall {
3
3
  readonly serviceId: string;
4
4
  readonly roomId: string;
5
5
  readonly callId: string;
6
+ readonly createCallStartedReport?: boolean;
6
7
  observedClients(): IterableIterator<ObservedClient>;
7
8
  getObservedClient(clientId: string): ObservedClient | undefined;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ObservedCall.d.ts","sourceRoot":"","sources":["../../src/samples/ObservedCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,eAAe,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACpD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAChE;AAED,qBAAa,mBAAmB;IAEZ,OAAO,CAAC,OAAO;IADlC,OAAO,CAAC,uBAAuB,CAA4C;gBAChD,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAExF,gCAAgC,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,qBAAqB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;IActE,KAAK,IAAI,YAAY;CAiB5B"}
1
+ {"version":3,"file":"ObservedCall.d.ts","sourceRoot":"","sources":["../../src/samples/ObservedCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C,eAAe,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACpD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAChE;AAED,qBAAa,mBAAmB;IAEZ,OAAO,CAAC,OAAO;IADlC,OAAO,CAAC,uBAAuB,CAA4C;gBAChD,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAExF,gCAAgC,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,qBAAqB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;IActE,KAAK,IAAI,YAAY;CAiB5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObserverSink.d.ts","sourceRoot":"","sources":["../../src/sinks/ObserverSink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObserverSink.d.ts","sourceRoot":"","sources":["../../src/sinks/ObserverSink.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,7 @@ class SinkImpl {
169
169
  }
170
170
  emit() {
171
171
  let result = 0;
172
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
172
173
  const checkAndEmit = (eventName, reports) => {
173
174
  if (reports.length > 0) {
174
175
  this._emit(eventName, { reports });
@@ -6,6 +6,7 @@ export type ObservedCallSourceConfig<T extends Record<string, unknown>> = {
6
6
  readonly mediaUnitId: string;
7
7
  readonly roomId: string;
8
8
  readonly callId: string;
9
+ createCallStartedReport?: boolean;
9
10
  };
10
11
  export interface ObservedCallSource<T extends Record<string, unknown> = Record<string, unknown>> extends ObservedCallSourceConfig<T> {
11
12
  readonly closed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ObservedCallSource.d.ts","sourceRoot":"","sources":["../../src/sources/ObservedCallSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IACnI,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAEzD,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE1G,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,OAAO,EAAE,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAC7G,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAG3B,KAAK,IAAI,IAAI,CAAC;CACd"}
1
+ {"version":3,"file":"ObservedCallSource.d.ts","sourceRoot":"","sources":["../../src/sources/ObservedCallSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IACnI,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAEzD,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE1G,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,OAAO,EAAE,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAC7G,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAG3B,KAAK,IAAI,IAAI,CAAC;CACd"}
@@ -69,7 +69,7 @@ class Sources {
69
69
  if (existingClientSource)
70
70
  return existingClientSource;
71
71
  const { appData: clientAppData } = context, clientConfig = __rest(context, ["appData"]);
72
- const clientSource = this._createClientSource(Object.assign(Object.assign(Object.assign({}, callConfig), clientConfig), { appData: clientAppData, serviceId,
72
+ const clientSource = this._createClientSource(callSource, Object.assign(Object.assign(Object.assign({}, callConfig), clientConfig), { appData: clientAppData, serviceId,
73
73
  mediaUnitId }));
74
74
  const closeClientSource = clientSource.close;
75
75
  clientSource.close = () => {
@@ -95,7 +95,7 @@ class Sources {
95
95
  this._callSources.set(config.callId, callSource);
96
96
  return callSource;
97
97
  }
98
- _createClientSource(config) {
98
+ _createClientSource(callSource, config) {
99
99
  var _a;
100
100
  let closed = false;
101
101
  const { appData } = config, clientConfig = __rest(config, ["appData"]);
@@ -103,8 +103,8 @@ class Sources {
103
103
  if (closed) {
104
104
  throw new Error('Cannot accept ClientSample, because the ClientSource is closed');
105
105
  }
106
- const observedCallBuilder = this._observedCallsBuilder.getOrCreateObservedCallBuilder(config.callId, () => {
107
- return Object.assign({}, source);
106
+ const observedCallBuilder = this._observedCallsBuilder.getOrCreateObservedCallBuilder(callSource.callId, () => {
107
+ return Object.assign({}, callSource);
108
108
  });
109
109
  const observedClientBuilder = observedCallBuilder.getOrCreateObservedClientBuilder(config.clientId, () => {
110
110
  return Object.assign({}, source);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@observertc/observer-js",
3
- "version": "0.9.23-beta",
3
+ "version": "0.9.24-beta",
4
4
  "description": "Server Side NodeJS Library for processing ObserveRTC Samples",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -31,6 +31,7 @@
31
31
  "@observertc/sample-schemas-js": "2.2.10",
32
32
  "@types/events": "^3.0.0",
33
33
  "@types/uuid": "^8.3.4",
34
+ "ipaddr.js": "^2.1.0",
34
35
  "package-lock-only": "^0.0.4",
35
36
  "uuid": "^8.3.2"
36
37
  },
package/src/Observer.ts CHANGED
@@ -18,6 +18,7 @@ import { SfuTransportEntry, createSfuTransportEntry } from './entries/SfuTranspo
18
18
  import { SfuInboundRtpPadEntry, createSfuInboundRtpPadEntry } from './entries/SfuInboundRtpPadEntry';
19
19
  import { SfuOutboundRtpPadEntry, createSfuOutboundRtpPadEntry } from './entries/SfuOutboundRtpPadEntry';
20
20
  import { SfuSctpChannelEntry, createSfuSctpChannelEntry } from './entries/SfuSctpChannelEntry';
21
+ import { GetClientCoordinate, createSetClientsCoordinateEvaluator } from './evaluators/SetClientsCoordinateEvaluator';
21
22
 
22
23
  const logger = createLogger('Observer');
23
24
 
@@ -222,6 +223,15 @@ export class Observer {
222
223
  }
223
224
  }
224
225
 
226
+ public addCoordinateEvaluator(getClientCoordinate: GetClientCoordinate) {
227
+ if (this._closed) {
228
+ throw new Error('Attempted to add an evaluator to a closed observer');
229
+ }
230
+ const process = createSetClientsCoordinateEvaluator(getClientCoordinate);
231
+
232
+ this._evaluator.addProcess(async (context) => process(context));
233
+ }
234
+
225
235
  public addSinks(...processes: ObserverSinkProcess[]) {
226
236
  if (this._closed) {
227
237
  throw new Error('Attempted to add an evaluator to a closed observer');
@@ -66,6 +66,22 @@ export function createClientEntry(storageProvider: StorageProvider, model?: Mode
66
66
  get marker() {
67
67
  return model.marker;
68
68
  },
69
+ get coordinates(): { latitude: number; longitude: number } | undefined {
70
+ if (!model.coordinates) return;
71
+
72
+ const {
73
+ longitude,
74
+ latitude
75
+ } = model.coordinates;
76
+
77
+ if (!latitude) return;
78
+ if (!longitude) return;
79
+
80
+ return {
81
+ latitude,
82
+ longitude
83
+ };
84
+ },
69
85
  getCall,
70
86
  get peerConnections(): AsyncIterableIterator<PeerConnectionEntry> {
71
87
  return asyncIteratorConverter<PeerConnectionEntry>(asyncPeerConnectionGenerator());
@@ -0,0 +1,78 @@
1
+ import { createLogger } from '../common/logger';
2
+ import * as Models from '../models/Models';
3
+ import ipaddr from 'ipaddr.js';
4
+ import { EvaluatorProcess } from '..';
5
+
6
+ export const logger = createLogger('SetClientsCoordinateEvaluator');
7
+
8
+ export type ClientCoordinate = {
9
+ latitude: number;
10
+ longitude: number;
11
+ };
12
+
13
+ export type GetClientCoordinate = (ipAddress: string) => ClientCoordinate | undefined;
14
+
15
+ export function createSetClientsCoordinateEvaluator(
16
+ getCoordinate: GetClientCoordinate,
17
+ ): EvaluatorProcess {
18
+ const process: EvaluatorProcess = async (context) => {
19
+
20
+ const clientIds = new Set<string>();
21
+
22
+ for (const observedCall of context.observedCalls.observedCalls()) {
23
+ for (const observedClient of observedCall.observedClients()) {
24
+ clientIds.add(observedClient.clientId);
25
+ }
26
+ }
27
+ if (clientIds.size < 1) return;
28
+
29
+ const storedClients = await context.storages.clientStorage.getAll(clientIds);
30
+
31
+ for (const observedCall of context.observedCalls.observedCalls()) {
32
+ for (const observedClient of observedCall.observedClients()) {
33
+ const { clientId } = observedClient;
34
+ const storedClient = storedClients.get(clientId);
35
+
36
+ if (!storedClient || storedClient.coordinates) continue;
37
+
38
+ let ipAddress: string | undefined;
39
+
40
+ searchForIp: for (const observedPeerConnection of observedClient.observedPeerConnections()) {
41
+ for (const iceLocalCandidate of observedPeerConnection.iceLocalCandidates()) {
42
+ if (!iceLocalCandidate.address) continue;
43
+
44
+ try {
45
+ const addr = ipaddr.parse(iceLocalCandidate.address);
46
+
47
+ ipAddress = addr.toString();
48
+
49
+ break searchForIp;
50
+ } catch (e) {
51
+ logger.warn(`Failed to parse ip address: ${iceLocalCandidate.address}`, e);
52
+
53
+ continue;
54
+ }
55
+
56
+ }
57
+ }
58
+
59
+ if (!ipAddress) continue;
60
+
61
+ try {
62
+ const coordinate = getCoordinate(ipAddress);
63
+
64
+ if (!coordinate) continue;
65
+
66
+ storedClient.coordinates = new Models.ClientCoordinate({
67
+ latitude: coordinate.latitude,
68
+ longitude: coordinate.longitude,
69
+ });
70
+ } catch (e) {
71
+ logger.warn(`Failed to get coordinate for ip address: ${ipAddress}`, e);
72
+ }
73
+ }
74
+ }
75
+ };
76
+
77
+ return process;
78
+ }
package/src/index.ts CHANGED
@@ -23,6 +23,7 @@ export type { SfuTransportEntry } from './entries/SfuTransportEntry';
23
23
  export type { SfuInboundRtpPadEntry } from './entries/SfuInboundRtpPadEntry';
24
24
  export type { SfuOutboundRtpPadEntry } from './entries/SfuOutboundRtpPadEntry';
25
25
  export type { SfuSctpChannelEntry } from './entries/SfuSctpChannelEntry';
26
+ export type { GetClientCoordinate, ClientCoordinate } from './evaluators/SetClientsCoordinateEvaluator';
26
27
 
27
28
  export type {
28
29
  Samples,
@@ -92,7 +92,7 @@ export function visitInboundAudioTrack(
92
92
  } = inboundAudioSample;
93
93
 
94
94
  const ssrc = BigInt(sample_ssrc);
95
- const videoStats = new Samples_ClientSample_InboundAudioTrack({
95
+ const audioStats = new Samples_ClientSample_InboundAudioTrack({
96
96
  ssrc,
97
97
  bytesReceived: BigInt(sample_bytesReceived ?? -1),
98
98
  bytesSent: BigInt(sample_bytesSent ?? -1),
@@ -103,9 +103,11 @@ export function visitInboundAudioTrack(
103
103
  ...sample,
104
104
  });
105
105
 
106
- statsMap.set(ssrc, videoStats);
106
+ statsMap.set(ssrc, audioStats);
107
107
  }
108
108
  }
109
109
  storedInboundAudioTrack.ssrc = [ ...statsMap.keys() ];
110
110
  storedInboundAudioTrack.videoStats = Array.from(statsMap.values());
111
+
112
+
111
113
  }
@@ -96,6 +96,7 @@ export function visitInboundVideoTrack(
96
96
  } = inboundVideoSample;
97
97
 
98
98
  const ssrc = BigInt(sample_ssrc);
99
+ // const lastVideoStats = storedInboundVideoTrack.videoStats.find((stats) => stats.ssrc === ssrc);
99
100
  const videoStats = new Samples_ClientSample_InboundVideoTrack({
100
101
  ssrc,
101
102
  bytesReceived: BigInt(sample_bytesReceived ?? -1),