diff --git a/app/lib/Client.js b/app/lib/Client.js index 5f1c056..d9d8453 100644 --- a/app/lib/Client.js +++ b/app/lib/Client.js @@ -28,6 +28,9 @@ export default class Client extends events.EventEmitter super(); this.setMaxListeners(Infinity); + // TODO: TMP + global.CLIENT = this; + let url = urlFactory.getProtooUrl(peerId, roomId); let transport = new protooClient.WebSocketTransport(url); @@ -708,6 +711,16 @@ export default class Client extends events.EventEmitter break; } + case 'activespeaker': + { + let data = request.data; + + this.emit('activespeaker', data.peer, data.level); + accept(); + + break; + } + default: { logger.error('unknown method'); @@ -776,7 +789,6 @@ export default class Client extends events.EventEmitter this._peerconnection = new RTCPeerConnection({ iceServers: [] }); // TODO: TMP - global.CLIENT = this; global.PC = this._peerconnection; if (this._localStream) diff --git a/app/lib/components/LocalVideo.jsx b/app/lib/components/LocalVideo.jsx index 9370a40..9b23d23 100644 --- a/app/lib/components/LocalVideo.jsx +++ b/app/lib/components/LocalVideo.jsx @@ -5,6 +5,7 @@ import IconButton from 'material-ui/IconButton/IconButton'; import MicOffIcon from 'material-ui/svg-icons/av/mic-off'; import VideoCamOffIcon from 'material-ui/svg-icons/av/videocam-off'; import ChangeVideoCamIcon from 'material-ui/svg-icons/av/repeat'; +import classnames from 'classnames'; import Video from './Video'; import Logger from '../Logger'; @@ -30,7 +31,12 @@ export default class LocalVideo extends React.Component let state = this.state; return ( -
+
{props.stream ?