Aggregate call-quality summary. Reflects the live tracker while in-call and the finalized snapshot after the call ends; stays readable after teardown.
Current WebRTC call statistics, or null if not yet collecting.
Whether this session negotiated the independent content video path.
Local media stream (camera/microphone), or null before media is acquired.
Map of remote participant CID to their media stream.
Cancel an in-progress join and destroy the session.
Capture the current video frame from the chosen stream as an
image/jpeg Blob at the source track's full intrinsic resolution.
Rejects with a SnapshotError if the stream is missing/inactive,
the chosen participant has video off, or no frame arrives in time.
Clean up all resources. Call when done with the session.
End the call for all participants.
Cycle to the next camera mode in the configured order.
Local content (screen share) stream for optional local preview.
Remote camera stream for a participant (independent mode), else legacy.
Remote content (screen share) stream for a participant, if negotiated.
Read a remote participant's effective capabilities with contract defaults
applied (missing independentContentVideo → false).
Legacy camera stream accessor (same as remoteStreams.get(cid)).
Read a remote participant's effective videoMediaEnabled with contract
defaults applied (missing → true).
Leave the call gracefully. The other participant stays connected.
Subscribe to connection-quality events (reconnected / reconnect failed). Returns an unsubscribe function. Mirrors onPeerMessage.
Resume joining after media permissions have been granted.
Set local audio enabled state explicitly.
Switch camera mode (selfie/world). Composite is not available on web.
Set local video enabled state explicitly.
Start sharing the screen, replacing the camera video track.
Stop screen sharing and restore the camera video track.
Subscribe to state changes. Returns an unsubscribe function.
Toggle local audio on/off.
Toggle local video on/off.
Represents an active call session. Created via SerenadaCore.join or SerenadaCore.createRoom. Manages media, signaling, and call state.