Use software decoder by default

This commit is contained in:
2026-04-04 20:19:54 +11:00
parent 3a21026790
commit e134ebdf15
24 changed files with 693 additions and 215 deletions

View File

@@ -814,8 +814,8 @@ static void ALPRWorkerThread(int taskId,
g_log.add(prefix + " Empty frame (count=" + std::to_string(emptyFrames) + ")");
}
if (emptyFrames > 300) {
g_log.add(prefix + " Too many empty frames, attempting reconnect...");
ReconnectRTSP(&rtspClient);
g_log.add(prefix + " Too many empty frames (reconnect disabled for long test)");
// ReconnectRTSP(&rtspClient); // Disabled for VRAM stability testing
emptyFrames = 0;
}
streamLock.unlock();
@@ -1222,9 +1222,9 @@ int ANSLPR_MultiGPU_StressTest() {
g_log.add(buf);
printf("%s\n", buf);
} else if (currentGpu != streamPreferredGpu[s]) {
// Decoder is active on wrong GPU — reconnect to move it
// Decoder is active on wrong GPU — reconnect disabled for VRAM stability testing
SetRTSPHWDecoding(&rtspClients[s], 7, streamPreferredGpu[s]);
ReconnectRTSP(&rtspClients[s]);
// ReconnectRTSP(&rtspClients[s]); // Disabled for long test
char buf[256];
snprintf(buf, sizeof(buf),
"[Stream%d] NVDEC GPU realigned: GPU[%d] -> GPU[%d] (reconnected for zero-copy)",
@@ -1279,7 +1279,7 @@ int ANSLPR_MultiGPU_StressTest() {
// CUDA cleanup (cuArrayDestroy, cuMemFree) while inference is running.
// This is the exact scenario that triggers the nvcuda64 SRW lock deadlock.
// =========================================================================
std::atomic<bool> chaosEnabled{true};
std::atomic<bool> chaosEnabled{false}; // Disabled for VRAM stability long test
std::thread chaosThread([&]() {
std::mt19937 rng(std::random_device{}());