summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-03-26 20:43:22 +0900
committerMatthew Waters <matthew@centricular.com>2019-03-26 11:54:16 +0000
commitaaee282051252d364f951ff297eb88f0e5d267e5 (patch)
treefd461a21e82219a81a3f18174397a50eb2736e70
parentd0f2f262aa5e914339cfb346f6ff1254306e98e2 (diff)
downloadgstreamer-plugins-bad-aaee282051252d364f951ff297eb88f0e5d267e5.tar.gz
nvenc: Don't leak CUDA device memory
Allocated device memory should be freed with cuMemFree
-rw-r--r--sys/nvenc/gstnvbaseenc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c
index 0567bfde4..42fe7ac92 100644
--- a/sys/nvenc/gstnvbaseenc.c
+++ b/sys/nvenc/gstnvbaseenc.c
@@ -998,6 +998,12 @@ gst_nv_base_enc_free_buffers (GstNvBaseEnc * nvenc)
GST_ERROR_OBJECT (nvenc, "Failed to unregister resource %p, ret %d",
in_gl_resource, nv_ret);
+ nv_ret = cuMemFree ((CUdeviceptr) in_gl_resource->cuda_pointer);
+ if (nv_ret != NV_ENC_SUCCESS) {
+ GST_ERROR_OBJECT (nvenc, "Failed to free CUDA device memory, ret %d",
+ nv_ret);
+ }
+
g_free (in_gl_resource);
cuCtxPopCurrent (NULL);
} else