From a08310e45483b21c04ef7590e36779c4f6e350ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Thu, 19 Aug 2021 14:48:15 +0200 Subject: [PATCH] Emit Speaking events from CallFeed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/components/views/voip/VideoFeed.tsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/components/views/voip/VideoFeed.tsx b/src/components/views/voip/VideoFeed.tsx index 0d719a4463..13461c3591 100644 --- a/src/components/views/voip/VideoFeed.tsx +++ b/src/components/views/voip/VideoFeed.tsx @@ -24,8 +24,6 @@ import MemberAvatar from "../avatars/MemberAvatar"; import { replaceableComponent } from "../../../utils/replaceableComponent"; import { SDPStreamMetadataPurpose } from 'matrix-js-sdk/src/webrtc/callEventTypes'; -const SPEAKING_THRESHOLD = -60; - interface IProps { call: MatrixCall; @@ -108,7 +106,7 @@ export default class VideoFeed extends React.PureComponent { this.props.feed.removeListener(CallFeedEvent.NewStream, this.onNewStream); this.props.feed.removeListener(CallFeedEvent.MuteStateChanged, this.onMuteStateChanged); if (this.props.feed.purpose === SDPStreamMetadataPurpose.Usermedia) { - this.props.feed.removeListener(CallFeedEvent.VolumeChanged, this.onVolumeChanged); + this.props.feed.removeListener(CallFeedEvent.Speaking, this.onSpeaking); this.props.feed.measureVolumeActivity(false); } this.stopMedia(); @@ -117,7 +115,7 @@ export default class VideoFeed extends React.PureComponent { this.props.feed.addListener(CallFeedEvent.NewStream, this.onNewStream); this.props.feed.addListener(CallFeedEvent.MuteStateChanged, this.onMuteStateChanged); if (this.props.feed.purpose === SDPStreamMetadataPurpose.Usermedia) { - this.props.feed.addListener(CallFeedEvent.VolumeChanged, this.onVolumeChanged); + this.props.feed.addListener(CallFeedEvent.Speaking, this.onSpeaking); this.props.feed.measureVolumeActivity(true); } this.playMedia(); @@ -174,8 +172,8 @@ export default class VideoFeed extends React.PureComponent { }); }; - private onVolumeChanged = (volume: number): void => { - this.setState({ speaking: volume > SPEAKING_THRESHOLD }); + private onSpeaking = (speaking: boolean): void => { + this.setState({ speaking }); }; private onResize = (e) => {