Title: [264188] trunk/Source/WebCore
Revision
264188
Author
[email protected]
Date
2020-07-09 12:49:58 -0700 (Thu, 09 Jul 2020)

Log Message

[WinCairo][MediaFoundation] Use /DELAYLOAD for mf.dll
https://bugs.webkit.org/show_bug.cgi?id=213330

Reviewed by Per Arne Vollan.

WinCairo failed to start up due to a missing dependency on some
versions of Windows in which Media Foundation is not available
such like Windows 10 N. Use delay load for Media Foundation. And,
check the availability.

* PlatformWinCairo.cmake: Link with delayimp.lib. Added /DELAYLOAD linker options.
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::isAvailable): Check mf.dll is available.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (264187 => 264188)


--- trunk/Source/WebCore/ChangeLog	2020-07-09 19:46:09 UTC (rev 264187)
+++ trunk/Source/WebCore/ChangeLog	2020-07-09 19:49:58 UTC (rev 264188)
@@ -1,3 +1,19 @@
+2020-07-09  Fujii Hironori  <[email protected]>
+
+        [WinCairo][MediaFoundation] Use /DELAYLOAD for mf.dll
+        https://bugs.webkit.org/show_bug.cgi?id=213330
+
+        Reviewed by Per Arne Vollan.
+
+        WinCairo failed to start up due to a missing dependency on some
+        versions of Windows in which Media Foundation is not available
+        such like Windows 10 N. Use delay load for Media Foundation. And,
+        check the availability.
+
+        * PlatformWinCairo.cmake: Link with delayimp.lib. Added /DELAYLOAD linker options.
+        * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
+        (WebCore::MediaPlayerPrivateMediaFoundation::isAvailable): Check mf.dll is available.
+
 2020-07-09  Eric Carlson  <[email protected]>
 
         Reset AVSystemController_PIDToInheritApplicationStateFrom when mediaserverd dies

Modified: trunk/Source/WebCore/PlatformWinCairo.cmake (264187 => 264188)


--- trunk/Source/WebCore/PlatformWinCairo.cmake	2020-07-09 19:46:09 UTC (rev 264187)
+++ trunk/Source/WebCore/PlatformWinCairo.cmake	2020-07-09 19:49:58 UTC (rev 264188)
@@ -43,6 +43,7 @@
     Mfplat
     comctl32
     crypt32
+    delayimp
     dxva2
     evr
     iphlpapi
@@ -54,6 +55,8 @@
     ws2_32
 )
 
+target_link_options(WebCore PUBLIC /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll)
+
 list(APPEND WebCoreTestSupport_LIBRARIES
     Cairo::Cairo
     shlwapi

Modified: trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp (264187 => 264188)


--- trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp	2020-07-09 19:46:09 UTC (rev 264187)
+++ trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp	2020-07-09 19:49:58 UTC (rev 264188)
@@ -107,8 +107,8 @@
 
 bool MediaPlayerPrivateMediaFoundation::isAvailable() 
 {
-    notImplemented();
-    return true;
+    static bool isMediaFoundationAvailable = LoadLibrary(L"mf.dll");
+    return isMediaFoundationAvailable;
 }
 
 static const HashSet<String, ASCIICaseInsensitiveHash>& mimeTypeCache()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to