Archived
When the last camera reader disconnects, cycle the output pipeline (v4l2sink) through READY → PLAYING to reset v4l2loopback's format state. Without this, switching between camera apps that use different PipeWire paths (e.g. Chromium → GNOME Snapshot) fails with "no more input formats" because v4l2loopback retains stale format state from the previous session. The reset is guarded by an input_was_active flag so it only triggers after an actual streaming session, not during PipeWire's brief device probes on startup. Tested on Dell XPS 16 (Panther Lake) with PipeWire 1.6.2: - Snapshot → Zoom → Snapshot: working - Suspend → resume → Snapshot: working - Boot → first Snapshot: 30fps