Zebediah Figura : quartz/vmr9: Get rid of CreateRenderingWindow().

Alexandre Julliard julliard at winehq.org
Wed May 27 15:19:32 CDT 2020


Module: wine
Branch: master
Commit: c6abb3b241b67934b1bebebac70293ea3e0cdf3c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c6abb3b241b67934b1bebebac70293ea3e0cdf3c

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Wed May 27 11:47:37 2020 -0500

quartz/vmr9: Get rid of CreateRenderingWindow().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/vmr9.c | 32 ++++++++++----------------------
 1 file changed, 10 insertions(+), 22 deletions(-)

diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 6f699ce70f..8ba82e8259 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -2751,8 +2751,10 @@ static UINT d3d9_adapter_from_hwnd(IDirect3D9 *d3d9, HWND hwnd, HMONITOR *mon_ou
     return d3d9_adapter;
 }
 
-static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9AllocationInfo *info, DWORD *numbuffers)
+static HRESULT WINAPI VMR9_SurfaceAllocator_InitializeDevice(IVMRSurfaceAllocator9 *iface,
+        DWORD_PTR cookie, VMR9AllocationInfo *info, DWORD *numbuffers)
 {
+    struct default_presenter *This = impl_from_IVMRSurfaceAllocator9(iface);
     D3DPRESENT_PARAMETERS d3dpp;
     IDirect3DDevice9 *device;
     DWORD d3d9_adapter;
@@ -2760,7 +2762,9 @@ static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9Allocation
     HWND window;
     HRESULT hr;
 
-    TRACE("(%p)->()\n", This);
+    TRACE("presenter %p, cookie %#Ix, info %p, numbuffers %p.\n", This, cookie, info, numbuffers);
+
+    This->info = *info;
 
     if (This->pVMR9->mode == VMR9Mode_Windowed)
         window = This->pVMR9->window.hwnd;
@@ -2783,7 +2787,7 @@ static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9Allocation
     if (FAILED(hr))
     {
         ERR("Could not create device: %08x\n", hr);
-        return FALSE;
+        return hr;
     }
 
     IDirect3DDevice9_GetDeviceCaps(device, &caps);
@@ -2791,14 +2795,14 @@ static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9Allocation
     {
         WARN("Device does not support blitting from textures.\n");
         IDirect3DDevice9_Release(device);
-        return FALSE;
+        return VFW_E_DDRAW_CAPS_NOT_SUITABLE;
     }
 
     This->d3d9_dev = device;
     IVMRSurfaceAllocatorNotify9_SetD3DDevice(This->SurfaceAllocatorNotify, This->d3d9_dev, This->hMon);
 
     if (!(This->d3d9_surfaces = calloc(*numbuffers, sizeof(IDirect3DSurface9 *))))
-        return FALSE;
+        return E_OUTOFMEMORY;
 
     hr = VMR9_SurfaceAllocator_SetAllocationSettings(This, info);
     if (FAILED(hr))
@@ -2814,27 +2818,11 @@ static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9Allocation
     if (FAILED(hr))
     {
         IVMRSurfaceAllocator9_TerminateDevice(This->pVMR9->allocator, This->pVMR9->cookie);
-        return FALSE;
+        return hr;
     }
 
     This->num_surfaces = *numbuffers;
 
-    return TRUE;
-}
-
-static HRESULT WINAPI VMR9_SurfaceAllocator_InitializeDevice(IVMRSurfaceAllocator9 *iface,
-        DWORD_PTR cookie, VMR9AllocationInfo *allocinfo, DWORD *numbuffers)
-{
-    struct default_presenter *This = impl_from_IVMRSurfaceAllocator9(iface);
-
-    This->info = *allocinfo;
-
-    if (!CreateRenderingWindow(This, allocinfo, numbuffers))
-    {
-        ERR("Failed to create rendering window, expect no output!\n");
-        return VFW_E_WRONG_STATE;
-    }
-
     return S_OK;
 }
 




More information about the wine-cvs mailing list