Hi,
We found some small memory leak within nvEncOpenEncodeSessionEx by Valgrind.
See log:
==12787== 32 bytes in 1 blocks are still reachable in loss record 13 of 83
==12787== at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==12787== by 0xBC4576D: ??? (in /usr/lib/nvidia-430/libnvidia-encode.so.430.14)
==12787== by 0xBC447F8: ??? (in /usr/lib/nvidia-430/libnvidia-encode.so.430.14)
==12787== by 0xBC2E6B1: ??? (in /usr/lib/nvidia-430/libnvidia-encode.so.430.14)
==12787== by 0xBC3C30B: ??? (in /usr/lib/nvidia-430/libnvidia-encode.so.430.14)
Our code is very simple. We just call nvEncOpenEncodeSessionEx() in loop until we get zero session handle, then call nvEncDestroyEncoder() for all valid instances obtained in loop. We use this code to understand how much NVEnc sessions we can run simultaneously. It looks like the last call of nvEncOpenEncodeSessionEx() which returned zero handle produces this memory leak.
It would be nice if someone looked at it and confirmed the bug or found that it was a false positive detection of Valgrind.
Thanks in advance!