Package-level declarations
Types
Immutable snapshot of aggregate call quality, computed by the SDK and consumed by hosts to populate their call-ended analytics. Updated live during the call and finalized at call end; remains readable after the session stops.
SDK-native call state. This is the primary observable state for SDK consumers. Does not include host-app concerns (saved rooms, settings, etc.).
Aggregated call statistics exposed to SDK consumers. Populated from WebRTC getStats() periodically during an active call.
Connection-quality event emitted by the SDK through SerenadaCoreDelegate.onConnectionEvent.
Reason a dropout began, carried so hosts can distinguish recovery causes.
Disposition of a join, surfaced by the server in joined.reconnect. Drives whether the SDK preserves media-active peer connections, schedules dirty-pair renegotiation, or starts ground-up.
Device media capabilities required for a call.
Server tells an active peer that a previously-suspended peer has reattached AND there was pending negotiation traffic to it during the suspension. The SDK should perform glare-safe fresh negotiation / ICE restart for the named CID.
Wire-level status values for a remote participant's signaling transport. The server uses "suspended" to indicate a participant whose transport dropped but whose room slot is being held open for reconnect. "active" is the default for participants with a live transport attached.
Persisted call-recovery state — surfaced to host apps so a relaunched process can prompt the user to rejoin an in-flight call instead of silently dropping them on the home screen.
Server tells the sender it could not deliver a relay because the target had no transport.
Monitors room occupancy via signaling. Use this to show room status before joining.
Configuration for the Serenada SDK.
Main entry point for the Serenada SDK.
Delegate interface for receiving SDK lifecycle callbacks. All methods have default no-op implementations so only relevant callbacks need overriding.
Pre-flight diagnostics utility. Checks device capabilities and server connectivity without prompting for permissions.
Represents an active call session. Created via SerenadaCore.join or SerenadaCore.createRoom.
Available signaling transport types.
Transport-agnostic signaling contract for Android SDK sessions.
Allowlisted static capabilities a participant advertised at join, surfaced verbatim by the provider. Unknown keys are dropped upstream.
Allowlisted per-session media policy a participant advertised at join.
Richer view of the local signaling transport state. Apps can use this to render reconnect spinners, "you have been disconnected" UI, and a hard- eviction countdown when applicable. CallState.connectionStatus remains the simpler tri-value summary.
Errors thrown by SerenadaSession.captureSnapshot. Each variant has a machine-readable identity via type checks (e.g. is SnapshotError.StreamNotActive).
A single decoded JPEG frame plus its metadata, returned from SerenadaSession.captureSnapshot on success.
Identifies which video stream a snapshot should capture.
Properties
Default preference order for SerenadaConfig.cameraModes when left null.