getCameras() — you don’t drive state transitions manually.
Connection State Machine
Each camera tracked by CameraManager has one of four states:| State | Description |
|---|---|
detected | Camera found by polling, not yet connected |
connecting | Connection attempt in progress |
connected | Ready for commands |
disconnected | Was connected, now disconnected |
Camera Discovery & Selection
getCameras() returns all tracked cameras with their current state. getCamera(id) returns a specific camera.
Reconnection Behavior
WhenautoReconnect is enabled (default), CameraManager automatically retries after unexpected disconnections.
Backoff strategy: Linear — 2s, 4s, 6s, 8s, 10s… capped at 30s max delay. Resets to 0 on successful connection.
Max attempts: Controlled by maxReconnectAttempts (default: 5). After exhausting all attempts, no further retries are scheduled.
Event Flow Examples
Normal connection
Unexpected disconnect + reconnect
Camera unplugged
Connection failure with retry
Manual Connection Control
For full manual control over connection lifecycle — connecting specific cameras, managing state transitions, and handling reconnection yourself — use the stateful API classes directly instead of CameraManager.Stateful API Access
Direct access to CameraClient, EventStream, and ServerManager without CameraManager automation

