d3d12: various fixes and enhancements
d3d12decoder: Release decoder and heap on stop
Sometimes driver crash happens if ID3D12VideoDevice got closed first,
and then ID3D12VideoDecoderHeap/ID3D12VideoDecoder are released.
d3d12videosink: Fix crash on set_buffer()
set_buffer() can be called with null buffer
d3d12: Fix warnings reported by debug layer
Fixing below debug layer report
ID3D12Device::CreateCommittedResource: Ignoring InitialState D3D12_RESOURCE_STATE_COPY_DEST.
Buffers are effectively created in state D3D12_RESOURCE_STATE_COMMON.
Buffer resource will be automatically promoted to D3D12_RESOURCE_STATE_COPY_DEST
at the very first COPY operation time.
d3d12: Simplify fence data setup
Adding COM and GstMiniObject specific methods to skip passing
free function pointer
d3d12device: Print live objects on finalize()
The report from debug layer can help tracing resource leak
Edited by Seungha Yang