diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c index 5481b4656e56ed51543a4f8b5d3319c520bc3a65..b18c045372c359a2360df6e38a2493fcb106dd67 100644 --- a/sys/nvenc/gstnvbaseenc.c +++ b/sys/nvenc/gstnvbaseenc.c @@ -1012,6 +1012,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