Merge develop and remove comments

This commit is contained in:
Torjus
2018-07-18 14:35:55 +02:00
parent 89465e71f9
commit a1fad12b5c
20 changed files with 161 additions and 120 deletions
+1
View File
@@ -140,6 +140,7 @@ class Me extends React.Component
advancedMode={advancedMode}
peer={me}
audioTrack={micProducer ? micProducer.track : null}
volume={micProducer ? micProducer.volume : null}
videoTrack={webcamProducer ? webcamProducer.track : null}
videoVisible={videoVisible}
audioCodec={micProducer ? micProducer.codec : null}
@@ -70,6 +70,8 @@ const ListPeer = (props) =>
off : !micEnabled,
disabled : peer.peerAudioInProgress
})}
style={{ opacity : micEnabled && micConsumer ? (micConsumer.volume/10)
+ 0.2 :1 }}
onClick={(e) =>
{
e.stopPropagation();
@@ -143,7 +145,7 @@ const mapDispatchToProps = (dispatch) =>
},
onEnableWebcam : (peerName) =>
{
dispatch(requestActions.resumePeerVideo(peerName));
},
onDisableWebcam : (peerName) =>
+19 -18
View File
@@ -8,27 +8,27 @@ import * as stateActions from '../redux/stateActions';
import PeerView from './PeerView';
import ScreenView from './ScreenView';
class Peer extends Component
class Peer extends Component
{
state = {
controlsVisible : false
};
handleMouseOver = () =>
handleMouseOver = () =>
{
this.setState({
controlsVisible : true
});
};
handleMouseOut = () =>
handleMouseOut = () =>
{
this.setState({
controlsVisible : false
});
};
render()
render()
{
const {
advancedMode,
@@ -45,35 +45,35 @@ class Peer extends Component
toggleConsumerFullscreen,
style
} = this.props;
const micEnabled = (
Boolean(micConsumer) &&
!micConsumer.locallyPaused &&
!micConsumer.remotelyPaused
);
const videoVisible = (
Boolean(webcamConsumer) &&
!webcamConsumer.locallyPaused &&
!webcamConsumer.remotelyPaused
);
const screenVisible = (
Boolean(screenConsumer) &&
!screenConsumer.locallyPaused &&
!screenConsumer.remotelyPaused
);
let videoProfile;
if (webcamConsumer)
videoProfile = webcamConsumer.profile;
let screenProfile;
if (screenConsumer)
screenProfile = screenConsumer.profile;
return (
<div
data-component='Peer'
@@ -89,7 +89,7 @@ class Peer extends Component
</div>
:null
}
<div className={classnames('view-container', 'webcam')} style={style}>
<div
className={classnames('controls', {
@@ -108,7 +108,7 @@ class Peer extends Component
micEnabled ? onMuteMic(peer.name) : onUnmuteMic(peer.name);
}}
/>
<div
className={classnames('button', 'webcam', {
on : videoVisible,
@@ -122,7 +122,7 @@ class Peer extends Component
onDisableWebcam(peer.name) : onEnableWebcam(peer.name);
}}
/>
<div
className={classnames('button', 'fullscreen')}
onClick={(e) =>
@@ -136,6 +136,7 @@ class Peer extends Component
advancedMode={advancedMode}
peer={peer}
audioTrack={micConsumer ? micConsumer.track : null}
volume={micConsumer ? micConsumer.volume : null}
videoTrack={webcamConsumer ? webcamConsumer.track : null}
videoVisible={videoVisible}
videoProfile={videoProfile}
@@ -143,7 +144,7 @@ class Peer extends Component
videoCodec={webcamConsumer ? webcamConsumer.codec : null}
/>
</div>
{screenConsumer ?
<div className={classnames('view-container', 'screen')} style={style}>
<div className='controls'>
@@ -160,7 +161,7 @@ class Peer extends Component
onDisableScreen(peer.name) : onEnableScreen(peer.name);
}}
/>
<div
className={classnames('button', 'fullscreen')}
onClick={(e) =>
@@ -236,7 +237,7 @@ const mapDispatchToProps = (dispatch) =>
},
onEnableWebcam : (peerName) =>
{
dispatch(requestActions.resumePeerVideo(peerName));
},
onDisableWebcam : (peerName) =>
+3 -40
View File
@@ -2,7 +2,6 @@ import React from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import Spinner from 'react-spinner';
import hark from 'hark';
import * as appPropTypes from './appPropTypes';
import EditableInput from './EditableInput';
@@ -27,10 +26,6 @@ export default class PeerView extends React.Component
// @type {MediaStreamTrack}
this._videoTrack = null;
// Hark instance.
// @type {Object}
this._hark = null;
// Periodic timer for showing video resolution.
this._videoResolutionTimer = null;
}
@@ -40,6 +35,7 @@ export default class PeerView extends React.Component
const {
isMe,
peer,
volume,
advancedMode,
videoVisible,
videoProfile,
@@ -49,7 +45,6 @@ export default class PeerView extends React.Component
} = this.props;
const {
volume,
videoWidth,
videoHeight
} = this.state;
@@ -149,9 +144,6 @@ export default class PeerView extends React.Component
componentWillUnmount()
{
if (this._hark)
this._hark.stop();
clearInterval(this._videoResolutionTimer);
}
@@ -160,6 +152,7 @@ export default class PeerView extends React.Component
const { audioTrack, videoTrack } = nextProps;
this._setTracks(audioTrack, videoTrack);
}
_setTracks(audioTrack, videoTrack)
@@ -170,9 +163,6 @@ export default class PeerView extends React.Component
this._audioTrack = audioTrack;
this._videoTrack = videoTrack;
if (this._hark)
this._hark.stop();
clearInterval(this._videoResolutionTimer);
this._hideVideoResolution();
@@ -190,9 +180,6 @@ export default class PeerView extends React.Component
video.srcObject = stream;
if (audioTrack)
this._runHark(stream);
if (videoTrack)
this._showVideoResolution();
}
@@ -202,31 +189,6 @@ export default class PeerView extends React.Component
}
}
_runHark(stream)
{
if (!stream.getAudioTracks()[0])
throw new Error('_runHark() | given stream has no audio track');
this._hark = hark(stream, { play: false });
// eslint-disable-next-line no-unused-vars
this._hark.on('volume_change', (dBs, threshold) =>
{
// The exact formula to convert from dBs (-100..0) to linear (0..1) is:
// Math.pow(10, dBs / 20)
// However it does not produce a visually useful output, so let exagerate
// it a bit. Also, let convert it from 0..1 to 0..10 and avoid value 1 to
// minimize component renderings.
let volume = Math.round(Math.pow(10, dBs / 85) * 10);
if (volume === 1)
volume = 0;
if (volume !== this.state.volume)
this.setState({ volume: volume });
});
}
_showVideoResolution()
{
this._videoResolutionTimer = setInterval(() =>
@@ -259,6 +221,7 @@ PeerView.propTypes =
[ appPropTypes.Me, appPropTypes.Peer ]).isRequired,
advancedMode : PropTypes.bool,
audioTrack : PropTypes.any,
volume : PropTypes.number,
videoTrack : PropTypes.any,
videoVisible : PropTypes.bool.isRequired,
videoProfile : PropTypes.string,
+3 -3
View File
@@ -62,12 +62,12 @@ class Peers extends React.Component
observer.observe(this.refs.peers);
}
componentWillUnmount()
componentWillUnmount()
{
window.removeEventListener('resize', this.updateDimensions);
}
componentDidUpdate()
componentDidUpdate()
{
this.updateDimensions();
}
@@ -81,7 +81,7 @@ class Peers extends React.Component
toolAreaOpen
} = this.props;
const style =
const style =
{
'width' : this.state.peerWidth,
'height' : this.state.peerHeight
@@ -41,7 +41,7 @@ ToolAreaButton.propTypes =
{
toolAreaOpen : PropTypes.bool.isRequired,
toggleToolArea : PropTypes.func.isRequired,
unread : PropTypes.bool.isRequired,
unread : PropTypes.number.isRequired,
visible : PropTypes.bool.isRequired
};