Live View

Live view is a WebRTC session between the app and the camera, signalled through AWS Kinesis Video Streams. LiveStreamClient owns the session: it wakes battery cameras, renders into the TextureView renderers it publishes as players, and carries commands — talkback, siren, two-way calling — over the data channel. Its state is exposed as StateFlows (status, hasLoadedStream, isPrewarmed, isRecording, isMicEnabled, isSpeakerEnabled, callState, signalStrength, temperatureInfo, humidityInfo).

val client = LiveStreamClient(device = device, autoDisconnectAfter = 300_000L)
// construction starts the connection (unless prewarmEnabled = true);
// attach client.players to the layout; client.close() when the screen goes away

In this section

Page Covers
Setting Up Creating the client, stream type, auto-disconnect, prewarming
Rendering Live View Attaching the players, stream status, HD toggle, keep-awake
Audio Interactions Speaker and microphone, foreground reporting, Telecom handoff
RSSI Camera Wi-Fi signal readings
Two-Way Calling Call records, accepting and ending, local video
Recording and Snapshots Recording to the gallery and capturing stills

Product features on the stream

Command Product page
startSiren() / stopSiren() Home Security → Alarm & Deterrence
temperatureInfo / humidityInfo Baby → Nursery Monitoring

A note on battery and data

Set autoDisconnectAfter on the client. An unattended stream drains a battery camera and, on a cellular camera, the shared data pool. disableAutoDisconnect() / enableAutoDisconnect() pause and resume the timer while the user is actively interacting.


Table of contents


This site uses Just the Docs, a documentation theme for Jekyll.