Title: [118087] trunk/Source/WebCore
Revision
118087
Author
jer.no...@apple.com
Date
2012-05-22 17:23:57 -0700 (Tue, 22 May 2012)

Log Message

REGRESSION (r98359): Video does not render on http://panic.com/dietcoda/
https://bugs.webkit.org/show_bug.cgi?id=87171

Reviewed by Maciej Stachowiak.

No new tests; behavior is very timing specific and only occurs on a subset of all platforms.

Instead of calling prepareForRendering() from metadataLoaded(), which may fail and cause subsequent
calls to prepareForRendering() to short circuit, call createVideoLayer() directly, which achieves
the original goals of the fix for http://webkit.org/b/70448, but without breaking subsequent calls
to prepareForRendering() if called at the wrong time.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118086 => 118087)


--- trunk/Source/WebCore/ChangeLog	2012-05-23 00:21:25 UTC (rev 118086)
+++ trunk/Source/WebCore/ChangeLog	2012-05-23 00:23:57 UTC (rev 118087)
@@ -1,3 +1,20 @@
+2012-05-22  Jer Noble  <jer.no...@apple.com>
+
+        REGRESSION (r98359): Video does not render on http://panic.com/dietcoda/
+        https://bugs.webkit.org/show_bug.cgi?id=87171
+
+        Reviewed by Maciej Stachowiak.
+
+        No new tests; behavior is very timing specific and only occurs on a subset of all platforms.
+
+        Instead of calling prepareForRendering() from metadataLoaded(), which may fail and cause subsequent
+        calls to prepareForRendering() to short circuit, call createVideoLayer() directly, which achieves
+        the original goals of the fix for http://webkit.org/b/70448, but without breaking subsequent calls
+        to prepareForRendering() if called at the wrong time.
+
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
+
 2012-05-22  Tim Horton  <timothy_hor...@apple.com>
 
         Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad

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


--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2012-05-23 00:21:25 UTC (rev 118086)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2012-05-23 00:23:57 UTC (rev 118087)
@@ -531,11 +531,13 @@
     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 prepareForRendering()
+    // an AVPlayerLayer has been added to the AVPlayerItem, so call createVideoLayer()
     // here to trigger allocation of a AVPlayerLayer.
     if (m_cachedHasVideo)
-        prepareForRendering();
+        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