Skip to content

Commit 3f6846f

Browse files
fix scenario where sometimes remote does not get camera lenses
1 parent 2a5d63c commit 3f6846f

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

RemoteCam/CamStates.swift

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ extension RemoteCamSession {
116116
case is OnEnter:
117117
print("🔍 DEBUG: Camera starting up")
118118
getFrameSender()?.tell(msg: SetSession(peer: peer, session: self))
119-
120119
// Send capabilities after a brief delay to ensure camera is fully initialized
121120
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
122121
print("🔍 DEBUG: Camera entered - gathering and sending capabilities (delayed)")
@@ -130,7 +129,20 @@ extension RemoteCamSession {
130129
})
131130
} else {
132131
print("❌ DEBUG: Failed to gather current camera capabilities in OnEnter")
133-
}
132+
}
133+
}
134+
135+
// MARK: - Monitor Join Handling
136+
case is RemoteCmd.PeerBecameMonitor:
137+
// When a new monitor joins, immediately send camera capabilities
138+
print("🔍 DEBUG: Camera received PeerBecameMonitor - sending capabilities immediately")
139+
ctrl.gatherAllCameraCapabilities()
140+
if let capabilities = ctrl.gatherCurrentCameraCapabilities() {
141+
print("🔍 DEBUG: Sending camera capabilities to new monitor")
142+
print("🔍 DEBUG: Available lenses: \(capabilities.getCurrentCameraInfo()?.availableLenses ?? [])")
143+
self.sendCommandOrGoToScanning(peer: [peer], msg: capabilities)
144+
} else {
145+
print("❌ DEBUG: Failed to gather current camera capabilities for new monitor")
134146
}
135147

136148
case is RemoteCmd.RequestFrame:
@@ -164,7 +176,6 @@ extension RemoteCamSession {
164176
state: self.cameraTakingPic(peer: peer, ctrl: ctrl, lobby: lobbyWrapper, sendMediaToPeer: cmd.sendMediaToPeer))
165177

166178
case is RemoteCmd.ToggleCamera:
167-
sendCapabilitiesIfNeeded() // Ensure capabilities are sent
168179
print("🔍 DEBUG: Camera received ToggleCamera command")
169180
let result = ctrl.toggleCamera()
170181
var resp: Message?

0 commit comments

Comments
 (0)