SerenadaConfig

data class SerenadaConfig(val serverHost: String? = null, val signalingProvider: SignalingProvider? = null, val defaultAudioEnabled: Boolean = true, val defaultVideoEnabled: Boolean = true, val videoMediaEnabled: Boolean = true, val enableIndependentContentVideo: Boolean = false, val cameraModes: List<LocalCameraMode>? = null, val isHdVideoExperimentalEnabled: Boolean = false, val deferInitialAnswer: Boolean = false, val transports: List<SerenadaTransport> = listOf(SerenadaTransport.WS, SerenadaTransport.SSE), val proximityMonitoringEnabled: Boolean = false, val audioCoordinator: SerenadaAudioCoordinator? = null, val audioIntent: AudioIntent = AudioIntent(), val enableOpusRed: Boolean = false, val enableOpusDtx: Boolean = false)

Configuration for the Serenada SDK.

Constructors

Link copied to clipboard
constructor(serverHost: String? = null, signalingProvider: SignalingProvider? = null, defaultAudioEnabled: Boolean = true, defaultVideoEnabled: Boolean = true, videoMediaEnabled: Boolean = true, enableIndependentContentVideo: Boolean = false, cameraModes: List<LocalCameraMode>? = null, isHdVideoExperimentalEnabled: Boolean = false, deferInitialAnswer: Boolean = false, transports: List<SerenadaTransport> = listOf(SerenadaTransport.WS, SerenadaTransport.SSE), proximityMonitoringEnabled: Boolean = false, audioCoordinator: SerenadaAudioCoordinator? = null, audioIntent: AudioIntent = AudioIntent(), enableOpusRed: Boolean = false, enableOpusDtx: Boolean = false)

Properties

Link copied to clipboard

Custom audio coordinator. If null, the SDK uses its internal default coordinator.

Link copied to clipboard

Audio policy passed to the coordinator when a call session activates.

Link copied to clipboard

Camera modes available in the call UI, in preference order. The first entry is the initial mode. When only one mode is listed the flip-camera control is hidden; an empty list disables camera capture (the video toggle is hidden and the camera is never requested). Remote video and screen sharing remain available unless videoMediaEnabled is false. Modes unsupported on the current device are silently dropped (COMPOSITE is dropped on devices without multi-cam). SCREEN_SHARE is always ignored — screen sharing is controlled separately. Defaults to [SELFIE, WORLD, COMPOSITE].

Link copied to clipboard

Whether audio starts enabled (default true).

Link copied to clipboard

Whether video starts enabled (default true).

Link copied to clipboard

When true, defer the initial-negotiation offer-timeout/ICE-restart while the host peer awaits its FIRST answer. For app-owned calls whose answer is gated on a remote action that may take much longer than the offer timeout (e.g. PSTN human pickup). Normal offer-timeout behavior resumes after the first answer. Default false = unchanged for existing calls.

Link copied to clipboard

Static build capability: whether this client can negotiate, send, receive, classify, expose, and render an independent content (screen share) video stream. Advertised at join as capabilities.independentContentVideo. Immutable per session.

Link copied to clipboard
val enableOpusDtx: Boolean = false

Whether to request Opus discontinuous transmission so silence uses substantially less bandwidth (default false).

Link copied to clipboard
val enableOpusRed: Boolean = false

Whether to prefer/enable Opus RED (RFC 2198 audio redundancy) on audio transceivers for audio loss resilience (default false).

Link copied to clipboard

Enable experimental HD video capture.

Link copied to clipboard

Whether the proximity sensor is used to switch audio to the earpiece and pause video (default false).

Link copied to clipboard
val serverHost: String? = null

Server host or origin (e.g. "serenada.app" or "http://localhost:8080").

Link copied to clipboard

Custom signaling provider. Provide exactly one of serverHost or signalingProvider.

Link copied to clipboard

Preferred signaling transports in priority order (default: WS then SSE).

Link copied to clipboard

Whether this call can negotiate any video media. Set false for strict audio-only calls such as PSTN: camera capture, screen sharing, and remote video are all disabled. Defaults to true.