Skip to content

d3d11memory: Protect map and unmap with device lock

We should lock memory object with gst_d3d11_device_lock() first then GST_D3D11_MEMORY_LOCK() need to be used.

One observed deadlock case is that:

  • Thread A takes d3d11 device lock
  • At the same time, Thread B tries CPU map to d3d11memory which requires d3d11 device lock as well, but it's already taken by Thread A.

Merge request reports