Title: [154890] trunk/Source/WebCore
Revision
154890
Author
[email protected]
Date
2013-08-30 09:44:00 -0700 (Fri, 30 Aug 2013)

Log Message

[Windows] Video inside page always uses non-hardware accelerated playback
https://bugs.webkit.org/show_bug.cgi?id=120448

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Check for
D3D device. If it doesn't exist, switch to compositing mode and try again.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (154889 => 154890)


--- trunk/Source/WebCore/ChangeLog	2013-08-30 16:40:01 UTC (rev 154889)
+++ trunk/Source/WebCore/ChangeLog	2013-08-30 16:44:00 UTC (rev 154890)
@@ -1,3 +1,14 @@
+2013-08-30  Brent Fulgham  <[email protected]>
+
+        [Windows] Video inside page always uses non-hardware accelerated playback
+        https://bugs.webkit.org/show_bug.cgi?id=120448
+
+        Reviewed by Eric Carlson.
+
+        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Check for
+        D3D device. If it doesn't exist, switch to compositing mode and try again.
+
 2013-08-30  Leo Yang  <[email protected]>
 
         Possible dangling CachedResourceClient of StyleRuleImport and XSLImportRule

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp (154889 => 154890)


--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp	2013-08-30 16:40:01 UTC (rev 154889)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp	2013-08-30 16:44:00 UTC (rev 154890)
@@ -409,7 +409,15 @@
     ASSERT(m_avfWrapper);
     
     setDelayCallbacks(true);
-    m_avfWrapper->createPlayer(reinterpret_cast<IDirect3DDevice9*>(player()->graphicsDeviceAdapter()));
+
+    IDirect3DDevice9* device = reinterpret_cast<IDirect3DDevice9*>(player()->graphicsDeviceAdapter());
+    if (!device) {
+        player()->frameView()->enterCompositingMode();
+        player()->mediaPlayerClient()->mediaPlayerRenderingModeChanged(player());
+        device = reinterpret_cast<IDirect3DDevice9*>(player()->graphicsDeviceAdapter());
+    }
+
+    m_avfWrapper->createPlayer(device);
     setDelayCallbacks(false);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to