From bafd04ecdb4e733d8275c1198ee4d92426f7fb61 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 2 Jul 2024 15:16:10 -0400 Subject: [PATCH] camera: small Media Foundation backend init tweak. --- .../SDL_camera_mediafoundation.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/camera/mediafoundation/SDL_camera_mediafoundation.c b/src/camera/mediafoundation/SDL_camera_mediafoundation.c index d630fff9ec..0421b5b664 100644 --- a/src/camera/mediafoundation/SDL_camera_mediafoundation.c +++ b/src/camera/mediafoundation/SDL_camera_mediafoundation.c @@ -1084,25 +1084,24 @@ static SDL_bool MEDIAFOUNDATION_Init(SDL_CameraDriverImpl *impl) LOADSYM(mfreadwrite, MFCreateSourceReaderFromMediaSource); #undef LOADSYM + if (okay) { + const HRESULT ret = pMFStartup(MF_VERSION, MFSTARTUP_LITE); + if (FAILED(ret)) { + okay = SDL_FALSE; + } + } + if (!okay) { FreeLibrary(mfreadwrite); FreeLibrary(mfplat); FreeLibrary(mf); + return SDL_FALSE; } libmf = mf; libmfplat = mfplat; libmfreadwrite = mfreadwrite; - const HRESULT ret = pMFStartup(MF_VERSION, MFSTARTUP_LITE); - if (FAILED(ret)) { - FreeLibrary(libmfplat); - libmfplat = NULL; - FreeLibrary(libmf); - libmf = NULL; - return SDL_FALSE; - } - impl->DetectDevices = MEDIAFOUNDATION_DetectDevices; impl->OpenDevice = MEDIAFOUNDATION_OpenDevice; impl->CloseDevice = MEDIAFOUNDATION_CloseDevice;