@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
|
}
|