Obsctl::Server::StateStore
Authoritative OBS snapshot cache owned by the local daemon.
Constructors
Class methods
Instance methods
Records a successful OBS connection and publishes its fresh snapshot.
Marks OBS unavailable while preserving the last known lists and versions.
Records that the supervisor is attempting to establish an OBS session.
Records a public operator reconnect request without treating it as an OBS connection failure.
Mutates authoritative reconnect state for a public operator reconnect request and returns the precomputed state-event payload so callers can defer subscriber fanout until their own locks are released.
Publishes a precomputed state-event payload to subscribers.
Replaces the cached snapshot and publishes it to subscribers.
Replaces the audio input list in the cached snapshot and publishes.
Updates the current program scene without a full snapshot refetch.
Updates one audio input's mute state without a full snapshot refetch.
Updates one audio input's volume without a full snapshot refetch.
Replaces the scene list in the cached snapshot and publishes.
Updates periodically polled performance and output telemetry while preserving authoritative scene, audio, and profile state.
streaming/recording are the poll's view of output state. They are
accepted here so a stream or recording toggled outside obsctl converges
even if its StreamStateChanged event never arrives; nil leaves the
cached value alone.