cudamemory: Fix outstanding memory count tracing

Gets being released memory back to queue even if allocator is flushing
in order to count the number of outstanding memory objects.
And fixing double count increment

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>
This commit is contained in:
Seungha Yang 2024-02-29 02:06:43 +09:00 committed by GStreamer Marge Bot
parent 05aae3dd02
commit f77f3e83ed

View file

@ -1675,11 +1675,6 @@ gst_cuda_memory_release (GstMiniObject * object)
}
alloc = GST_CUDA_POOL_ALLOCATOR (mem->allocator);
/* if flushing, free this memory */
if (GST_CUDA_POOL_ALLOCATOR_IS_FLUSHING (alloc)) {
GST_LOG_OBJECT (alloc, "allocator is flushing, free %p", mem);
return TRUE;
}
/* return the memory to the allocator */
gst_memory_ref (mem);
@ -1908,7 +1903,6 @@ gst_cuda_pool_allocator_acquire_memory (GstCudaPoolAllocator * allocator,
gst_object_unref (mem->allocator);
mem->allocator = (GstAllocator *) gst_object_ref (allocator);
GST_MINI_OBJECT_CAST (mem)->dispose = gst_cuda_memory_release;
allocator->priv->outstanding++;
} else {
dec_outstanding (allocator);
}