VideoManager handles RTMP (Real-Time Messaging Protocol) streaming within a user session. It manages the lifecycle of video streams, tracks stream health through keep-alive mechanisms, handles acknowledgments, and ensures reliable communication between apps and smart glasses for video streaming.File: packages/cloud/src/services/session/VideoManager.ts
handleRtmpStreamStatus(statusMessage: RtmpStreamStatus): void { const { streamId, status } = statusMessage; const stream = this.activeSessionStreams.get(streamId); if (!stream) return; // Update activity time stream.lastKeepAlive = new Date(); // Map glasses status to internal status let mappedStatus: SessionStreamInfo['status']; switch (status) { case 'initializing': case 'connecting': case 'reconnecting': mappedStatus = 'initializing'; break; case 'active': case 'streaming': mappedStatus = 'active'; break; case 'stopping': mappedStatus = 'stopping'; break; case 'stopped': case 'disconnected': mappedStatus = 'stopped'; break; case 'error': case 'timeout': mappedStatus = 'timeout'; break; default: return; // Ignore unknown statuses } this.updateStatus(streamId, mappedStatus);}