Hi,
I’m using libargus but after a few frames I get the following error:
NvRmChannelSubmit: NvError_IoctrlFailed with error 22
NvRmPirvFlus: NvRmChannelSubmit failed (err = 196623, SyncPointIdx = XXX, SyncPointValue = 0)
I already found a few topics about the error and memory leaks so I checked my program with valgrind:
==21083== LEAK SUMMARY:
==21083== definitely lost: 16,688 bytes in 18 blocks
==21083== indirectly lost: 59 bytes in 1 blocks
==21083== possibly lost: 6,780 bytes in 56 blocks
==21083== still reachable: 2,227,986 bytes in 17,607 blocks
==21083== of which reachable via heuristic:
==21083== length64 : 6,288 bytes in 105 blocks
==21083== newarray : 2,160 bytes in 55 blocks
==21083== suppressed: 0 bytes in 0 blocks
==21083==
==21083== For counts of detected and suppressed errors, rerun with: -v
==21083== ERROR SUMMARY: 70 errors from 11 contexts (suppressed: 0 from 0)
I used functions from nvbuf_utils.h in the following order:
NvBufferMemMap(m_dmabuf, 0, NvBufferMem_Read, &pdata);
NvBufferMemSyncForCpu(m_dmabuf, 0, &pdata);
NvBufferMemSyncForDevice (m_dmabuf, 0, &pdata);
NvBufferMemUnMap(m_dmabuf, 0, &pdata);
Is this the right usage? Or am I creating a memory leak here?