X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=compat%2Fw32dlfcn.h;h=78cc8f4c96d6c4a4fa0b029a3777adfa844920fe;hb=a918f16f7ccc7eb75330c97036888cf05c14b311;hp=bc9bb8c9f51e8a78627bbeabe61348cb42999729;hpb=f089e02fa2b7716d9fa5228c734e55678437db85;p=ffmpeg diff --git a/compat/w32dlfcn.h b/compat/w32dlfcn.h index bc9bb8c9f51..78cc8f4c96d 100644 --- a/compat/w32dlfcn.h +++ b/compat/w32dlfcn.h @@ -21,7 +21,7 @@ #ifdef _WIN32 #include -#if _WIN32_WINNT < 0x0602 +#if (_WIN32_WINNT < 0x0602) || HAVE_WINRT #include "libavutil/wchar_filename.h" #endif /** @@ -71,7 +71,17 @@ exit: #ifndef LOAD_LIBRARY_SEARCH_SYSTEM32 # define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800 #endif +#if HAVE_WINRT + wchar_t *name_w = NULL; + int ret; + if (utf8towchar(name, &name_w)) + return NULL; + ret = LoadPackagedLibrary(name_w, 0); + av_free(name_w); + return ret; +#else return LoadLibraryExA(name, NULL, LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32); +#endif } #define dlopen(name, flags) win32_dlopen(name) #define dlclose FreeLibrary