[vlc-devel] [PATCH 2/2] direct3d11: simplify the locks
Steve Lhomme
robux4 at videolabs.io
Thu Sep 14 15:14:46 CEST 2017
---
modules/video_output/win32/direct3d11.c | 31 +++++++------------------------
1 file changed, 7 insertions(+), 24 deletions(-)
diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
index 9aaa59fc32..627b03aa0e 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -1131,12 +1131,6 @@ static void SetQuadVSProjection(vout_display_t *vd, d3d_quad_t *quad, const vlc_
static void UpdateSize(vout_display_t *vd)
{
vout_display_sys_t *sys = vd->sys;
-#if defined(HAVE_ID3D11VIDEODECODER)
- if( sys->context_lock != INVALID_HANDLE_VALUE )
- {
- WaitForSingleObjectEx( sys->context_lock, INFINITE, FALSE );
- }
-#endif
msg_Dbg(vd, "Detected size change %dx%d", RECTWidth(sys->sys.rect_dest_clipped),
RECTHeight(sys->sys.rect_dest_clipped));
@@ -1144,6 +1138,13 @@ static void UpdateSize(vout_display_t *vd)
UpdatePicQuadPosition(vd);
+#if defined(HAVE_ID3D11VIDEODECODER)
+ if( sys->context_lock != INVALID_HANDLE_VALUE )
+ {
+ WaitForSingleObjectEx( sys->context_lock, INFINITE, FALSE );
+ }
+#endif
+
UpdateQuadPosition(vd, &sys->picQuad, &sys->sys.rect_src_clipped,
vd->fmt.projection_mode, vd->fmt.orientation);
@@ -1823,29 +1824,11 @@ static int Direct3D11Open(vout_display_t *vd, video_format_t *fmt)
UpdateRects(vd, NULL, true);
AFTER_UPDATE_RECTS;
-#if defined(HAVE_ID3D11VIDEODECODER)
- if( sys->context_lock != INVALID_HANDLE_VALUE )
- {
- WaitForSingleObjectEx( sys->context_lock, INFINITE, FALSE );
- }
-#endif
if (Direct3D11CreateResources(vd, fmt)) {
-#if defined(HAVE_ID3D11VIDEODECODER)
- if( sys->context_lock != INVALID_HANDLE_VALUE )
- {
- ReleaseMutex( sys->context_lock );
- }
-#endif
msg_Err(vd, "Failed to allocate resources");
Direct3D11DestroyResources(vd);
return VLC_EGENERIC;
}
-#if defined(HAVE_ID3D11VIDEODECODER)
- if( sys->context_lock != INVALID_HANDLE_VALUE )
- {
- ReleaseMutex( sys->context_lock );
- }
-#endif
#if !VLC_WINSTORE_APP
EventThreadUpdateTitle(sys->sys.event, VOUT_TITLE " (Direct3D11 output)");
--
2.12.1
More information about the vlc-devel
mailing list