mirror of
https://github.com/vector-im/element-call.git
synced 2026-02-02 04:05:56 +00:00
This probably should have been part of https://github.com/element-hq/element-call/pull/2984
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
/*
|
|
Copyright 2023, 2024 New Vector Ltd.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE in the repository root for full details.
|
|
*/
|
|
|
|
import {
|
|
AudioPresets,
|
|
DefaultReconnectPolicy,
|
|
type RoomOptions,
|
|
ScreenSharePresets,
|
|
type TrackPublishDefaults,
|
|
type 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,
|
|
webAudioMix: false,
|
|
};
|