@whereby.com/media 1.10.0 → 1.10.1

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.
package/dist/index.cjs CHANGED
@@ -182,8 +182,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
182
182
  ssrcMetrics.lossRatio = (1000 * (packetLossCountDiff / (packetLossCountDiff + packetCountDiff))) / timeDiff;
183
183
  const byteCountDiff = currentSsrcStats.bytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesReceived) || 0);
184
184
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
185
- const headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
186
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
185
+ let headerByteCountDiff = 0;
186
+ if (currentSsrcStats.headerBytesReceived) {
187
+ headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
188
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
189
+ }
187
190
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
188
191
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
189
192
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -201,8 +204,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
201
204
  ssrcMetrics.packetRate = (1000 * packetCountDiff) / timeDiff;
202
205
  const byteCountDiff = currentSsrcStats.bytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesSent) || 0);
203
206
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
204
- const headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
205
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
207
+ let headerByteCountDiff = 0;
208
+ if (currentSsrcStats.headerBytesSent) {
209
+ headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
210
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
211
+ }
206
212
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
207
213
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
208
214
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -451,7 +457,7 @@ function collectStats(state, { logger, interval }, immediate) {
451
457
  pcData.previousSSRCs = pcData.currentSSRCs || {};
452
458
  pcData.currentSSRCs = {};
453
459
  report.forEach((currentRtcStats) => {
454
- var _a, _b;
460
+ var _a, _b, _c;
455
461
  if (currentRtcStats.type === "candidate-pair" && /inprogress|succeeded/.test(currentRtcStats.state)) {
456
462
  const prevRtcStats = (_a = pcData._oldReport) === null || _a === void 0 ? void 0 : _a.get(currentRtcStats.id);
457
463
  const timeDiff = prevRtcStats ? currentRtcStats.timestamp - prevRtcStats.timestamp : interval;
@@ -477,6 +483,13 @@ function collectStats(state, { logger, interval }, immediate) {
477
483
  }
478
484
  }
479
485
  const client = clients.find((c) => { var _a; return ((_a = c[kind].track) === null || _a === void 0 ? void 0 : _a.id) === trackId; }) || defaultClient;
486
+ if (!currentRtcStats.trackIdentifier &&
487
+ pcData.ssrcToTrackId[ssrc] &&
488
+ ((_c = client[kind].track) === null || _c === void 0 ? void 0 : _c.id) &&
489
+ client[kind].track.id !== pcData.ssrcToTrackId[ssrc]) {
490
+ trackId = client[kind].track.id;
491
+ pcData.ssrcToTrackId[ssrc] = client[kind].track.id;
492
+ }
480
493
  pcData.currentSSRCs[ssrc] = client.id;
481
494
  if (prevRtcStats) {
482
495
  const newTransport = report.get(currentRtcStats.transportId);
package/dist/index.mjs CHANGED
@@ -161,8 +161,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
161
161
  ssrcMetrics.lossRatio = (1000 * (packetLossCountDiff / (packetLossCountDiff + packetCountDiff))) / timeDiff;
162
162
  const byteCountDiff = currentSsrcStats.bytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesReceived) || 0);
163
163
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
164
- const headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
165
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
164
+ let headerByteCountDiff = 0;
165
+ if (currentSsrcStats.headerBytesReceived) {
166
+ headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
167
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
168
+ }
166
169
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
167
170
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
168
171
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -180,8 +183,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
180
183
  ssrcMetrics.packetRate = (1000 * packetCountDiff) / timeDiff;
181
184
  const byteCountDiff = currentSsrcStats.bytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesSent) || 0);
182
185
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
183
- const headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
184
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
186
+ let headerByteCountDiff = 0;
187
+ if (currentSsrcStats.headerBytesSent) {
188
+ headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
189
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
190
+ }
185
191
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
186
192
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
187
193
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -430,7 +436,7 @@ function collectStats(state, { logger, interval }, immediate) {
430
436
  pcData.previousSSRCs = pcData.currentSSRCs || {};
431
437
  pcData.currentSSRCs = {};
432
438
  report.forEach((currentRtcStats) => {
433
- var _a, _b;
439
+ var _a, _b, _c;
434
440
  if (currentRtcStats.type === "candidate-pair" && /inprogress|succeeded/.test(currentRtcStats.state)) {
435
441
  const prevRtcStats = (_a = pcData._oldReport) === null || _a === void 0 ? void 0 : _a.get(currentRtcStats.id);
436
442
  const timeDiff = prevRtcStats ? currentRtcStats.timestamp - prevRtcStats.timestamp : interval;
@@ -456,6 +462,13 @@ function collectStats(state, { logger, interval }, immediate) {
456
462
  }
457
463
  }
458
464
  const client = clients.find((c) => { var _a; return ((_a = c[kind].track) === null || _a === void 0 ? void 0 : _a.id) === trackId; }) || defaultClient;
465
+ if (!currentRtcStats.trackIdentifier &&
466
+ pcData.ssrcToTrackId[ssrc] &&
467
+ ((_c = client[kind].track) === null || _c === void 0 ? void 0 : _c.id) &&
468
+ client[kind].track.id !== pcData.ssrcToTrackId[ssrc]) {
469
+ trackId = client[kind].track.id;
470
+ pcData.ssrcToTrackId[ssrc] = client[kind].track.id;
471
+ }
459
472
  pcData.currentSSRCs[ssrc] = client.id;
460
473
  if (prevRtcStats) {
461
474
  const newTransport = report.get(currentRtcStats.transportId);
@@ -161,8 +161,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
161
161
  ssrcMetrics.lossRatio = (1000 * (packetLossCountDiff / (packetLossCountDiff + packetCountDiff))) / timeDiff;
162
162
  const byteCountDiff = currentSsrcStats.bytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesReceived) || 0);
163
163
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
164
- const headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
165
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
164
+ let headerByteCountDiff = 0;
165
+ if (currentSsrcStats.headerBytesReceived) {
166
+ headerByteCountDiff = currentSsrcStats.headerBytesReceived - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesReceived) || 0);
167
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
168
+ }
166
169
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
167
170
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
168
171
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -180,8 +183,11 @@ function captureCommonSsrcMetrics(ssrcMetrics, currentSsrcStats, prevSsrcStats,
180
183
  ssrcMetrics.packetRate = (1000 * packetCountDiff) / timeDiff;
181
184
  const byteCountDiff = currentSsrcStats.bytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.bytesSent) || 0);
182
185
  ssrcMetrics.byteCount = (ssrcMetrics.byteCount || 0) + byteCountDiff;
183
- const headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
184
- ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
186
+ let headerByteCountDiff = 0;
187
+ if (currentSsrcStats.headerBytesSent) {
188
+ headerByteCountDiff = currentSsrcStats.headerBytesSent - ((prevSsrcStats === null || prevSsrcStats === void 0 ? void 0 : prevSsrcStats.headerBytesSent) || 0);
189
+ ssrcMetrics.headerByteCount = (ssrcMetrics.headerByteCount || 0) + headerByteCountDiff;
190
+ }
185
191
  const totalBytesDiff = byteCountDiff + headerByteCountDiff;
186
192
  ssrcMetrics.bitrate = (8000 * totalBytesDiff) / timeDiff;
187
193
  ssrcMetrics.mediaRatio = byteCountDiff / totalBytesDiff;
@@ -430,7 +436,7 @@ function collectStats(state, { logger, interval }, immediate) {
430
436
  pcData.previousSSRCs = pcData.currentSSRCs || {};
431
437
  pcData.currentSSRCs = {};
432
438
  report.forEach((currentRtcStats) => {
433
- var _a, _b;
439
+ var _a, _b, _c;
434
440
  if (currentRtcStats.type === "candidate-pair" && /inprogress|succeeded/.test(currentRtcStats.state)) {
435
441
  const prevRtcStats = (_a = pcData._oldReport) === null || _a === void 0 ? void 0 : _a.get(currentRtcStats.id);
436
442
  const timeDiff = prevRtcStats ? currentRtcStats.timestamp - prevRtcStats.timestamp : interval;
@@ -456,6 +462,13 @@ function collectStats(state, { logger, interval }, immediate) {
456
462
  }
457
463
  }
458
464
  const client = clients.find((c) => { var _a; return ((_a = c[kind].track) === null || _a === void 0 ? void 0 : _a.id) === trackId; }) || defaultClient;
465
+ if (!currentRtcStats.trackIdentifier &&
466
+ pcData.ssrcToTrackId[ssrc] &&
467
+ ((_c = client[kind].track) === null || _c === void 0 ? void 0 : _c.id) &&
468
+ client[kind].track.id !== pcData.ssrcToTrackId[ssrc]) {
469
+ trackId = client[kind].track.id;
470
+ pcData.ssrcToTrackId[ssrc] = client[kind].track.id;
471
+ }
459
472
  pcData.currentSSRCs[ssrc] = client.id;
460
473
  if (prevRtcStats) {
461
474
  const newTransport = report.get(currentRtcStats.transportId);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@whereby.com/media",
3
3
  "description": "Media library for Whereby",
4
- "version": "1.10.0",
4
+ "version": "1.10.1",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/whereby/sdk",
7
7
  "repository": {