|
@@ -49,6 +49,9 @@ KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_IEXPLORER] =
|
49
|
49
|
KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_CHROME];
|
50
|
50
|
KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_SAFARI] =
|
51
|
51
|
KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_CHROME];
|
|
52
|
+KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_REACT_NATIVE] =
|
|
53
|
+ KEYS_BY_BROWSER_TYPE[RTCBrowserType.RTC_BROWSER_CHROME];
|
|
54
|
+
|
52
|
55
|
/**
|
53
|
56
|
* Calculates packet lost percent using the number of lost packets and the
|
54
|
57
|
* number of all packet.
|
|
@@ -466,6 +469,23 @@ StatsCollector.prototype._defineGetStatValueMethod = function (keys) {
|
466
|
469
|
// retrieve the value associated with a specific key.
|
467
|
470
|
itemStatByKey = function (item, key) { return item.stat(key) };
|
468
|
471
|
break;
|
|
472
|
+ case RTCBrowserType.RTC_BROWSER_REACT_NATIVE:
|
|
473
|
+ // The implementation provided by react-native-webrtc follows the
|
|
474
|
+ // Objective-C WebRTC API: RTCStatsReport has a values property of type
|
|
475
|
+ // Array in which each element is a key-value pair.
|
|
476
|
+ itemStatByKey = function (item, key) {
|
|
477
|
+ var value;
|
|
478
|
+ item.values.some(function (pair) {
|
|
479
|
+ if (pair.hasOwnProperty(key)) {
|
|
480
|
+ value = pair[key];
|
|
481
|
+ return true;
|
|
482
|
+ } else {
|
|
483
|
+ return false;
|
|
484
|
+ }
|
|
485
|
+ });
|
|
486
|
+ return value;
|
|
487
|
+ };
|
|
488
|
+ break;
|
469
|
489
|
default:
|
470
|
490
|
itemStatByKey = function (item, key) { return item[key] };
|
471
|
491
|
}
|