UNPKG

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