Three bugs reported from the field, all fixed.
The stream now ends when the session does
Stopping the game on the console, or switching the console off, used to leave green-nx frozen on the last frame with no way back to the library. The server announces the end of the session plainly, and we were ignoring it.
serverInitiatedDisconnectnow returns you to the library by itself, the same as ending the stream yourself.- A peer that closes or drops after connecting shows a "connection lost" screen with A to retry, instead of a still picture.
- New ten second stall watchdog for the case where the media path dies silently and nothing says so.
- Gamepad packets stop the moment the peer is gone. They used to keep going at 125 Hz into a dead connection and fill
stream-log.txtwith errors.
Reported by @alimanew777 in #22.
No more crash on exit
Leaving the app crashed on the way back to the homebrew menu, which is where the black screen came from. Two independent causes:
- usrsctp's service threads. WebRTC startup spawns two of them and nothing ever stopped them, so they were still running when the app returned and faulted the instant the loader unmapped it. They are shut down properly now.
- libcurl outliving the socket service. The sign in HTTP client kept its TLS connections open past
socketExit(), which tears down the socket transfer memory underneath them. Every network object is now released while the service is still up.
Also reported in #22.
Remote play from outside your home network
Streaming from your own console worked on the same WiFi and timed out from anywhere else, even with UDP 9002 correctly forwarded.
Connection candidates are checked one at a time, and the console lists its LAN address first. From another network that address can never answer, so the whole budget went to a dead candidate and the reachable public one was never reached before the connect timeout. Now:
- one attempt per distinct address, instead of up to three tries at the same one,
- addresses that cannot be routed from where you are go last,
- a shorter budget per candidate, with the full list retried, so a slow console still gets its time.
Reported by @KickAssBR in #24. If you stream from outside your home network, this is the release to try, and please say how it goes on the issue.
Install
Copy green-nx.nro to sdmc:/switch/ (overwrite the old one) and relaunch.