Title: [118314] trunk/Source/WebCore
Revision
118314
Author
jer.no...@apple.com
Date
2012-05-23 19:44:14 -0700 (Wed, 23 May 2012)

Log Message

REGRESSION: compositing/video/video-poster.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=87199

Reviewed by Maciej Stachowiak.

No new tests; fixes failing compositing/video/video-poster.html test.

Instead of creating the video layer directly, simply allow the layer
to be created in updateStates() by changing the definition of
isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
the player reports a video track is present.  This causes the video layer
to be created and for future calls to prepareForRendering() to result
in calls to mediaPlayerRenderingModeChanged().

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118313 => 118314)


--- trunk/Source/WebCore/ChangeLog	2012-05-24 02:43:51 UTC (rev 118313)
+++ trunk/Source/WebCore/ChangeLog	2012-05-24 02:44:14 UTC (rev 118314)
@@ -1,3 +1,23 @@
+2012-05-23  Jer Noble  <jer.no...@apple.com>
+
+        REGRESSION: compositing/video/video-poster.html fails on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=87199
+
+        Reviewed by Maciej Stachowiak.
+
+        No new tests; fixes failing compositing/video/video-poster.html test.
+
+        Instead of creating the video layer directly, simply allow the layer
+        to be created in updateStates() by changing the definition of
+        isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
+        the player reports a video track is present.  This causes the video layer
+        to be created and for future calls to prepareForRendering() to result
+        in calls to mediaPlayerRenderingModeChanged().
+
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
+        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
+
 2012-05-23  Nico Weber  <tha...@chromium.org>
 
         [chromium/mac] Unbreak popup menus.

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp (118313 => 118314)


--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2012-05-24 02:43:51 UTC (rev 118313)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2012-05-24 02:44:14 UTC (rev 118314)
@@ -378,7 +378,10 @@
 
 bool MediaPlayerPrivateAVFoundation::isReadyForVideoSetup() const
 {
-    return m_isAllowedToRender && m_readyState >= MediaPlayer::HaveMetadata && m_player->visible();
+    // AVFoundation will not return true for firstVideoFrameAvailable until
+    // an AVPlayerLayer has been added to the AVPlayerItem, so allow video setup
+    // here if a video track to trigger allocation of a AVPlayerLayer.
+    return (m_isAllowedToRender || m_cachedHasVideo) && m_readyState >= MediaPlayer::HaveMetadata && m_player->visible();
 }
 
 void MediaPlayerPrivateAVFoundation::prepareForRendering()
@@ -530,14 +533,6 @@
 {
     m_loadingMetadata = false;
     tracksChanged();
-
-#if USE(ACCELERATED_COMPOSITING)
-    // AVFoundation will not return true for firstVideoFrameAvailable until
-    // an AVPlayerLayer has been added to the AVPlayerItem, so call createVideoLayer()
-    // here to trigger allocation of a AVPlayerLayer.
-    if (m_cachedHasVideo)
-        createVideoLayer();
-#endif
 }
 
 void MediaPlayerPrivateAVFoundation::rateChanged()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to