From 26ff637e818804999cf01a18cfa42f443b7d81c0 Mon Sep 17 00:00:00 2001 From: Dave Behnke <916775+dbehnke@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:43:57 -0500 Subject: [PATCH] fix: Add sleep to RxThread to prevent spin loop on transcoder failure --- reflector/CodecStream.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reflector/CodecStream.cpp b/reflector/CodecStream.cpp index b3dc7b9..badaf6d 100644 --- a/reflector/CodecStream.cpp +++ b/reflector/CodecStream.cpp @@ -159,6 +159,14 @@ void CCodecStream::RxThread() if (g_TCServer.Receive(m_CSModule, &pack, 1000)) // 1s timeout to check keep_running occasionally { if ( m_LocalQueue.IsEmpty() ) + // ... + } + else + { + // Receive timed out or failed (e.g. module not open). + // Sleep briefly to prevent busy-looping if Receive returns immediately (error case). + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } { std::cout << "Unexpected transcoded packet received from transcoder: Module='" << pack.module << "' StreamID=" << std::hex << std::showbase << ntohs(pack.streamid) << std::endl; }