From a7557e3e151adea6ddabfbca3afba7ab45991705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Sun, 10 May 2020 23:08:43 +0200 Subject: [PATCH] Show quality indicator on me view. Fix "Me" text on me view on hover on extra videos and screen sharing. --- app/src/components/Containers/Me.js | 86 ++++++++------- app/src/components/Containers/Peer.js | 3 + .../components/VideoContainers/VideoView.js | 103 ++++++++++-------- 3 files changed, 105 insertions(+), 87 deletions(-) diff --git a/app/src/components/Containers/Me.js b/app/src/components/Containers/Me.js index 743c022..ea6e9e0 100644 --- a/app/src/components/Containers/Me.js +++ b/app/src/components/Containers/Me.js @@ -290,6 +290,28 @@ const Me = (props) => 'margin' : spacing }; + let audioScore = null; + + if (micProducer && micProducer.score) + { + audioScore = + micProducer.score.reduce( + (prev, curr) => + (prev.score < curr.score ? prev : curr) + ); + } + + let videoScore = null; + + if (webcamProducer && webcamProducer.score) + { + videoScore = + webcamProducer.score.reduce( + (prev, curr) => + (prev.score < curr.score ? prev : curr) + ); + } + return (
videoVisible={videoVisible} audioCodec={micProducer && micProducer.codec} videoCodec={webcamProducer && webcamProducer.codec} + audioScore={audioScore} + videoScore={videoScore} onChangeDisplayName={(displayName) => { roomClient.changeDisplayName(displayName); @@ -627,6 +652,18 @@ const Me = (props) => style={spacingStyle} >
+

+ +

}, 2000); }} > -

- -

- { smallContainer ? style={spacingStyle} >
-
setHover(true)} - onMouseOut={() => setHover(false)} - onTouchStart={() => - { - if (touchTimeout) - clearTimeout(touchTimeout); - - setHover(true); - }} - onTouchEnd={() => - { - - if (touchTimeout) - clearTimeout(touchTimeout); - - touchTimeout = setTimeout(() => - { - setHover(false); - }, 2000); - }} > -

- -

-
+ +

; + let quality = null; - if (videoScore || audioScore) + if (showQuality) { - const score = videoScore ? videoScore : audioScore; + quality = ; - switch (score.producerScore) + if (videoScore || audioScore) { - case 0: - case 1: + const score = videoScore ? videoScore : audioScore; + + switch (isMe ? score.score : score.producerScore) { - quality = ; - - break; - } - - case 2: - case 3: - { - quality = ; - - break; - } - - case 4: - case 5: - case 6: - { - quality = ; - - break; - } - - case 7: - case 8: - case 9: - { - quality = ; - - break; - } - - case 10: - { - quality = null; - - break; - } - - default: - { - break; + case 0: + case 1: + { + quality = ; + + break; + } + + case 2: + case 3: + { + quality = ; + + break; + } + + case 4: + case 5: + case 6: + { + quality = ; + + break; + } + + case 7: + case 8: + case 9: + { + quality = ; + + break; + } + + case 10: + { + quality = null; + + break; + } + + default: + { + break; + } } } } @@ -258,7 +264,7 @@ class VideoView extends React.PureComponent

{videoWidth}x{videoHeight}

}
- { !isMe && + { showQuality &&
{ quality @@ -438,6 +444,7 @@ class VideoView extends React.PureComponent VideoView.propTypes = { isMe : PropTypes.bool, + showQuality : PropTypes.bool, isScreen : PropTypes.bool, displayName : PropTypes.string, showPeerInfo : PropTypes.bool,