updateSendSettings(settings)
Controls simulcast layer configuration and which layers are sent. Useful for adapting to poor network conditions or high CPU load, or for ensuring high-quality video when conditions allow.
Parameters
An object configuring send settings per track type. All keys are optional. Each value accepts a preset string (see below) or a
DailyVideoSendSettings object:video— local camera track. Also supportsallowAdaptiveLayers(see below).customVideoDefaults— default settings for all custom video tracks. Uses camera presets.screenVideo— screen share track. Uses screen share presets.[customKey: string]— settings for a specific named custom track, using the track’strackNameas the key.
Camera and custom track presets
| Preset | Description |
|---|---|
'quality-optimized' | Higher resolutions and bitrate; best for good networks |
'bandwidth-and-quality-balanced' | High resolution with bandwidth savings; suitable for most networks (default) |
'bandwidth-optimized' | Lower bitrate; best for constrained networks (e.g., cellular) |
'default-video' | Resets to default (same as 'bandwidth-and-quality-balanced') |
Screen share presets
| Preset | Description |
|---|---|
'detail-optimized' | Low bitrate and frame rate (max 5 fps); best for static content like slides |
'motion-and-detail-balanced' | Balanced; max 15 fps; good for whiteboards and document editing |
'motion-optimized' | Full motion; max 30 fps; 2 Mbps cap to protect call quality (default) |
'default-screen-video' | Resets to default (same as 'motion-optimized') |
Send only a single simulcast layer for screen video. Define only the
"low" layer and set maxQuality to "low". Multiple layers are supported but screen shares are bandwidth-intensive and additional layers can degrade performance.Return value
ReturnsPromise<DailySendSettings> that resolves with the updated send settings. Also triggers a send-settings-updated event.