diff --git a/src/components/CallView/CallView.vue b/src/components/CallView/CallView.vue index fee4728225..2ffb2564a9 100644 --- a/src/components/CallView/CallView.vue +++ b/src/components/CallView/CallView.vue @@ -186,6 +186,14 @@ export default { return this.callParticipantModels.filter(callParticipantModel => callParticipantModel.attributes.screen) }, + callParticipantModelsWithVideo() { + return this.callParticipantModels.filter(callParticipantModel => { + return callParticipantModel.attributes.videoAvailable + && this.sharedDatas[callParticipantModel.attributes.peerId].videoEnabled + && (typeof callParticipantModel.attributes.stream === 'object') + }) + }, + localScreen() { return localMediaModel.attributes.localScreen }, @@ -199,7 +207,12 @@ export default { }, showGrid() { - return (!this.isOneToOneView || this.showLocalScreen) && !this.isSidebar + return !this.isSidebar + && ( + !this.isOneToOneView + || this.showLocalScreen + || (this.showRemoteScreen && this.hasRemoteVideo) + ) }, gridTargetAspectRatio() { @@ -230,6 +243,10 @@ export default { return this.localMediaModel.attributes.videoEnabled }, + hasRemoteVideo() { + return this.callParticipantModelsWithVideo.length > 0 + }, + hasLocalScreen() { return !!this.localMediaModel.attributes.localScreen },