From 4ec87d9690ee30d7adc1ebb622277e914cb60f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 15 Jul 2014 13:29:24 +0200 Subject: [PATCH] d3dvideosink: Open Direct3D devices in a threadsafe way Otherwise we'll get crashes when using the device from multiple threads, e.g. when using multiple sinks at once. https://bugzilla.gnome.org/show_bug.cgi?id=707523 --- sys/d3dvideosink/d3dhelpers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c index 6d22f3877f..312b913a89 100644 --- a/sys/d3dvideosink/d3dhelpers.c +++ b/sys/d3dvideosink/d3dhelpers.c @@ -2374,6 +2374,9 @@ d3d_class_display_device_create (GstD3DVideoSinkClass * klass, UINT adapter) */ create_mask = 0 | D3DCREATE_FPU_PRESERVE; + /* Make sure that device access is threadsafe */ + create_mask |= D3DCREATE_MULTITHREADED; + /* Determine vertex processing capabilities. Some cards have issues * using software vertex processing. Courtesy: * http://www.chadvernon.com/blog/resources/directx9/improved-direct3d-initialization/