mirror of
https://github.com/vector-im/element-call.git
synced 2024-11-21 00:28:08 +08:00
a7624806b2
This upgrade came with a number of new lints that needed to be fixed across the code base. Primarily: explicit return types on functions, and explicit visibility modifiers on class members.
64 lines
1.9 KiB
TypeScript
64 lines
1.9 KiB
TypeScript
/*
|
|
Copyright 2023 New Vector Ltd
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
import {
|
|
AudioPresets,
|
|
DefaultReconnectPolicy,
|
|
RoomOptions,
|
|
ScreenSharePresets,
|
|
TrackPublishDefaults,
|
|
VideoPreset,
|
|
VideoPresets,
|
|
} from "livekit-client";
|
|
|
|
const defaultLiveKitPublishOptions: TrackPublishDefaults = {
|
|
audioPreset: AudioPresets.music,
|
|
dtx: true,
|
|
// disable red because the livekit server strips out red packets for clients
|
|
// that don't support it (firefox) but of course that doesn't work with e2ee.
|
|
red: false,
|
|
forceStereo: false,
|
|
simulcast: true,
|
|
videoSimulcastLayers: [VideoPresets.h180, VideoPresets.h360] as VideoPreset[],
|
|
screenShareEncoding: ScreenSharePresets.h1080fps30.encoding,
|
|
stopMicTrackOnMute: false,
|
|
videoCodec: "vp8",
|
|
videoEncoding: VideoPresets.h720.encoding,
|
|
backupCodec: { codec: "vp8", encoding: VideoPresets.h720.encoding },
|
|
} as const;
|
|
|
|
export const defaultLiveKitOptions: RoomOptions = {
|
|
// automatically manage subscribed video quality
|
|
adaptiveStream: true,
|
|
|
|
// optimize publishing bandwidth and CPU for published tracks
|
|
dynacast: true,
|
|
|
|
// capture settings
|
|
videoCaptureDefaults: {
|
|
resolution: VideoPresets.h720.resolution,
|
|
},
|
|
|
|
// publish settings
|
|
publishDefaults: defaultLiveKitPublishOptions,
|
|
|
|
// default LiveKit options that seem to be sane
|
|
stopLocalTrackOnUnpublish: true,
|
|
reconnectPolicy: new DefaultReconnectPolicy(),
|
|
disconnectOnPageLeave: true,
|
|
expWebAudioMix: false,
|
|
};
|