fix(video): encode at least one frame before capture reinit (#3300)

This commit is contained in:
Cameron Gutman 2024-10-14 20:34:22 -05:00 committed by GitHub
parent 7352e7277a
commit bd2e1dc8c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1857,7 +1857,14 @@ namespace video {
}
while (true) {
if (shutdown_event->peek() || reinit_event.peek() || !images->running()) {
// Break out of the encoding loop if any of the following are true:
// a) The stream is ending
// b) Sunshine is quitting
// c) The capture side is waiting to reinit and we've encoded at least one frame
//
// If we have to reinit before we have received any captured frames, we will encode
// the blank dummy frame just to let Moonlight know that we're alive.
if (shutdown_event->peek() || !images->running() || (reinit_event.peek() && frame_nr > 1)) {
break;
}