Fix double stops

This commit is contained in:
2026-04-22 10:19:03 +10:00
parent 57cc8e0a56
commit 0e203eef99
6 changed files with 33 additions and 14 deletions

View File

@@ -128,8 +128,11 @@ namespace ANSCENTER {
// close() destroys the NVDEC decoder ONLY. Pool slot buffers
// (regular cudaMallocPitch allocations) are untouched — they
// belong to the global GpuNV12SlotPool, not the decoder.
// reset() runs ~CRtspPlayer which calls close() exactly once —
// do NOT call close() explicitly here (the destructor would call
// it again, which re-enters torn-down decoder state).
if (clientToClose) {
clientToClose->close();
clientToClose.reset();
// Force CUDA runtime to release all cached memory from the destroyed
// NVDEC decoder. Without this, cuMemFree returns memory to the CUDA