@100mslive/react-native-room-kit
Version:
100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.
45 lines • 4.05 kB
JavaScript
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { COLORS } from '../utils/theme';
const PeerRTCStatsView = ({
audioTrackStats,
videoTrackStats
}) => {
var _videoTrackStats$reso, _videoTrackStats$reso2, _videoTrackStats$bitr, _videoTrackStats$bitr2, _audioTrackStats$bitr, _audioTrackStats$bitr2, _videoTrackStats$jitt, _videoTrackStats$jitt2, _audioTrackStats$jitt, _audioTrackStats$jitt2;
const qualityLimitationReasons = videoTrackStats && 'qualityLimitationReasons' in videoTrackStats ? videoTrackStats.qualityLimitationReasons : null;
return /*#__PURE__*/React.createElement(View, null, videoTrackStats && 'layer' in videoTrackStats ? /*#__PURE__*/React.createElement(Text, {
style: styles.statsTitle
}, videoTrackStats.layer) : null, /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Width", ' ', (videoTrackStats && 'resolution' in videoTrackStats ? (_videoTrackStats$reso = videoTrackStats.resolution) === null || _videoTrackStats$reso === void 0 ? void 0 : _videoTrackStats$reso.width : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Height", ' ', (videoTrackStats && 'resolution' in videoTrackStats ? (_videoTrackStats$reso2 = videoTrackStats.resolution) === null || _videoTrackStats$reso2 === void 0 ? void 0 : _videoTrackStats$reso2.height : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "FPS", ' ', (videoTrackStats && 'frameRate' in videoTrackStats && videoTrackStats.frameRate ? parseInt(videoTrackStats.frameRate.toString() ?? '0') : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Bitrate(V)", ' ', (videoTrackStats && 'bitrate' in videoTrackStats ? videoTrackStats === null || videoTrackStats === void 0 || (_videoTrackStats$bitr = videoTrackStats.bitrate) === null || _videoTrackStats$bitr === void 0 || (_videoTrackStats$bitr2 = _videoTrackStats$bitr.toFixed) === null || _videoTrackStats$bitr2 === void 0 ? void 0 : _videoTrackStats$bitr2.call(_videoTrackStats$bitr, 2) : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Bitrate(A)", ' ', (audioTrackStats && 'bitrate' in audioTrackStats ? audioTrackStats === null || audioTrackStats === void 0 || (_audioTrackStats$bitr = audioTrackStats.bitrate) === null || _audioTrackStats$bitr === void 0 || (_audioTrackStats$bitr2 = _audioTrackStats$bitr.toFixed) === null || _audioTrackStats$bitr2 === void 0 ? void 0 : _audioTrackStats$bitr2.call(_audioTrackStats$bitr, 2) : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Jitter(V)", ' ', (videoTrackStats && 'jitter' in videoTrackStats ? videoTrackStats === null || videoTrackStats === void 0 || (_videoTrackStats$jitt = videoTrackStats.jitter) === null || _videoTrackStats$jitt === void 0 || (_videoTrackStats$jitt2 = _videoTrackStats$jitt.toFixed) === null || _videoTrackStats$jitt2 === void 0 ? void 0 : _videoTrackStats$jitt2.call(_videoTrackStats$jitt, 2) : 0) ?? 0), /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Jitter(A)", ' ', (audioTrackStats && 'jitter' in audioTrackStats ? audioTrackStats === null || audioTrackStats === void 0 || (_audioTrackStats$jitt = audioTrackStats.jitter) === null || _audioTrackStats$jitt === void 0 || (_audioTrackStats$jitt2 = _audioTrackStats$jitt.toFixed) === null || _audioTrackStats$jitt2 === void 0 ? void 0 : _audioTrackStats$jitt2.call(_audioTrackStats$jitt, 2) : 0) ?? 0), qualityLimitationReasons ? /*#__PURE__*/React.createElement(Text, {
style: styles.statsText
}, "Reason ", qualityLimitationReasons.reason) : null);
};
const styles = StyleSheet.create({
statsTitle: {
fontWeight: 'bold',
fontSize: 15,
lineHeight: 15 * 1.3,
color: COLORS.TEXT.HIGH_EMPHASIS,
marginBottom: 4
},
statsText: {
fontSize: 14,
lineHeight: 14 * 1.3,
color: COLORS.TEXT.HIGH_EMPHASIS
}
});
export default PeerRTCStatsView;
//# sourceMappingURL=PeerRTCStatsView.js.map