@3dsource/angular-unreal-module 0.0.120 → 0.0.121

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.
@@ -2077,7 +2077,18 @@ class VideoService extends SubService {
2077
2077
  }
2078
2078
  }
2079
2079
  }
2080
+ // Only read RTT from the *nominated* ICE candidate pair. The
2081
+ // stats report contains multiple `candidate-pair` entries (one
2082
+ // per host/srflx/relay combination tried during ICE); only the
2083
+ // nominated pair carries a meaningful `currentRoundTripTime`,
2084
+ // the rest typically report 0 or stale values. Without the
2085
+ // `nominated` filter, browser-specific iteration order decides
2086
+ // who "wins" the assignment — Chrome happens to put the
2087
+ // nominated pair last and gets the real number, Firefox puts it
2088
+ // first and the loop overwrites it with 0 from a non-selected
2089
+ // pair, so RTT in the viewer is always 0 in Firefox.
2080
2090
  if (report.type === 'candidate-pair' &&
2091
+ report.nominated === true &&
2081
2092
  Object.hasOwn(report, 'currentRoundTripTime')) {
2082
2093
  newStat.currentRoundTripTime = report.currentRoundTripTime ?? 0;
2083
2094
  }