Add remote config for sending higher res screen share

This commit is contained in:
Rashad Sookram 2023-11-06 11:45:37 -05:00 committed by GitHub
parent 9eee548d2a
commit 754bb02c06
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View file

@ -17,7 +17,7 @@ import { getCountryCode } from './types/PhoneNumber';
export type ConfigKeyType =
| 'cds.disableCompatibilityMode'
| 'desktop.announcementGroup'
| 'desktop.calling.audioLevelForSpeaking'
| 'desktop.calling.sendScreenShare1800'
| 'desktop.cdsi.returnAcisWithoutUaks'
| 'desktop.clientExpiration'
| 'desktop.editMessageSend'

View file

@ -40,6 +40,7 @@ import {
import { uniqBy, noop } from 'lodash';
import Long from 'long';
import * as RemoteConfig from '../RemoteConfig';
import type {
ActionsType as CallingReduxActionsType,
GroupCallParticipantInfoType,
@ -1399,13 +1400,20 @@ export class CallingClass {
this.videoCapturer.disable();
if (source) {
this.hadLocalVideoBeforePresenting = hasLocalVideo;
this.videoCapturer.enableCaptureAndSend(call, {
const options = {
// 15fps is much nicer but takes up a lot more CPU.
maxFramerate: 5,
maxHeight: 1080,
maxWidth: 1920,
screenShareSourceId: source.id,
});
};
if (RemoteConfig.isEnabled('desktop.calling.sendScreenShare1800')) {
options.maxWidth = 2880;
options.maxHeight = 1800;
}
this.videoCapturer.enableCaptureAndSend(call, options);
this.setOutgoingVideo(conversationId, true);
} else {
this.setOutgoingVideo(