d3d11colorconvert: Set TRANSFER_NEED_DOWNLOAD flag to output memory for later cpu...
authorSeungha Yang <seungha.yang@navercorp.com>
Thu, 19 Dec 2019 14:58:17 +0000 (23:58 +0900)
committerSeungha Yang <seungha.yang@navercorp.com>
Fri, 20 Dec 2019 10:21:02 +0000 (19:21 +0900)
Otherwise CPU cannot access texture via gst_memory_map()

sys/d3d11/gstd3d11colorconvert.c

index 743d803..3541a2d 100644 (file)
@@ -892,6 +892,11 @@ gst_d3d11_color_convert_transform (GstBaseTransform * trans,
           (ID3D11Resource *) self->out_texture[i], 0, NULL);
     }
     gst_d3d11_device_unlock (device);
+  } else {
+    for (i = 0; i < gst_buffer_n_memory (outbuf); i++) {
+      GstMemory *mem = gst_buffer_peek_memory (outbuf, i);
+      GST_MINI_OBJECT_FLAG_SET (mem, GST_D3D11_MEMORY_TRANSFER_NEED_DOWNLOAD);
+    }
   }
 
   return GST_FLOW_OK;