Repository navigation
Connect to a GLKVM whose host has no HDMI signal - #45
Merged
Merged
Conversation
Connecting to a GL.iNet Comet while the host PC was off or hibernated failed with "GLKVM media stream did not deliver a frame in time", even though the web UI connected fine and showed "No signal". The session refused to enter .streaming until a first H.264 frame arrived, and with no HDMI signal the device keeps the media socket open (heartbeats only) and never sends one, so each of the three attempts hit the 5s timeout. Treat a frameless-but-open media socket as "no signal" rather than a failure. The socket's first-frame timeout becomes a grace period: when it elapses the stream yields a single nil marker and keeps running, and the session hands off to .streaming without video. Keyboard, mouse and ATX power work, the HDMI indicator shows no signal, and frames decode as soon as they start. The streamer-restart retry is unchanged, since that failure surfaces as a socket error rather than a timeout. Bump to 1.0.8. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Connecting to a GL.iNet Comet while the host PC was off or hibernated failed with "GLKVM media stream did not deliver a frame in time", even though the web UI connected fine and showed "No signal".
The session refused to enter
.streaminguntil a first H.264 frame arrived. With no HDMI signal the device keeps the media socket open (heartbeats only) and never sends a frame, so each of the three connect attempts hit the 5s timeout and the session landed in.error.This treats a frameless-but-open media socket as "no signal" rather than a failure:
nilmarker and keeps running instead of finishing with an error and cancelling the socket..streamingon that marker, so keyboard, mouse and ATX power work and the HDMI indicator shows no signal. Frames decode as soon as they start.H264StreamFrameSequencer.recordYieldis generic over the stream element so it serves both the NanoKVM and the GLKVM streams.Bumps
MARKETING_VERSIONto 1.0.8.Verified:
swift test --package-path KVMCore(178 tests) and the macOSxcodebuild testscheme pass. No WebSocket mock exists, so the grace path has no automated test; verified against the log evidence from the failing device.🤖 Generated with Claude Code