Title: [207287] trunk/Source/WebCore
Revision
207287
Author
commit-qu...@webkit.org
Date
2016-10-13 08:00:09 -0700 (Thu, 13 Oct 2016)

Log Message

[GTK] Video playback doesn't work properly with accelerated compositing disabled
https://bugs.webkit.org/show_bug.cgi?id=163386

Patch by Miguel Gomez <mago...@igalia.com> on 2016-10-13
Reviewed by Carlos Garcia Campos.

Trigger a repaint of the player when a new frame arrives and accelerated compositing is disabled.

Covered by existent tests.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (207286 => 207287)


--- trunk/Source/WebCore/ChangeLog	2016-10-13 11:59:19 UTC (rev 207286)
+++ trunk/Source/WebCore/ChangeLog	2016-10-13 15:00:09 UTC (rev 207287)
@@ -1,3 +1,17 @@
+2016-10-13  Miguel Gomez  <mago...@igalia.com>
+
+        [GTK] Video playback doesn't work properly with accelerated compositing disabled
+        https://bugs.webkit.org/show_bug.cgi?id=163386
+
+        Reviewed by Carlos Garcia Campos.
+
+        Trigger a repaint of the player when a new frame arrives and accelerated compositing is disabled.
+
+        Covered by existent tests.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+
 2016-10-13  Antti Koivisto  <an...@apple.com>
 
         Share inline stylesheets between shadow trees

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (207286 => 207287)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-10-13 11:59:19 UTC (rev 207286)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-10-13 15:00:09 UTC (rev 207287)
@@ -596,14 +596,21 @@
 
 #if USE(COORDINATED_GRAPHICS_THREADED)
 #if USE(GSTREAMER_GL)
-    pushTextureToCompositor();
+    if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
+        pushTextureToCompositor();
+    else {
+        LockHolder locker(m_drawMutex);
+        m_drawTimer.startOneShot(0);
+        m_drawCondition.wait(m_drawMutex);
+    }
 #else
-    {
+    if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
         LockHolder lock(m_drawMutex);
         if (!m_platformLayerProxy->scheduleUpdateOnCompositorThread([this] { this->pushTextureToCompositor(); }))
             return;
         m_drawCondition.wait(m_drawMutex);
-    }
+    } else
+        repaint();
 #endif
     return;
 #else
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to