Title: [207409] trunk/Source/WebCore
- Revision
- 207409
- Author
- commit-qu...@webkit.org
- Date
- 2016-10-17 09:56:19 -0700 (Mon, 17 Oct 2016)
Log Message
[GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511
Patch by Miguel Gomez <mago...@igalia.com> on 2016-10-17
Reviewed by Carlos Garcia Campos.
Perform the video repaint in the main thread when accelerated compositing is disabled.
Covered by existent tests.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (207408 => 207409)
--- trunk/Source/WebCore/ChangeLog 2016-10-17 16:19:10 UTC (rev 207408)
+++ trunk/Source/WebCore/ChangeLog 2016-10-17 16:56:19 UTC (rev 207409)
@@ -1,3 +1,20 @@
+2016-10-17 Miguel Gomez <mago...@igalia.com>
+
+ [GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
+ https://bugs.webkit.org/show_bug.cgi?id=163511
+
+ Reviewed by Carlos Garcia Campos.
+
+ Perform the video repaint in the main thread when accelerated compositing is disabled.
+
+ Covered by existent tests.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+ (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
+ (WebCore::MediaPlayerPrivateGStreamerBase::repaint):
+ (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
2016-10-17 Konstantin Tokarev <annu...@yandex.ru>
Eleminate code duplication between ResourceRequest encoding/decoding implementations
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (207408 => 207409)
--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2016-10-17 16:19:10 UTC (rev 207408)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2016-10-17 16:56:19 UTC (rev 207409)
@@ -175,7 +175,7 @@
, m_fpsSink(0)
, m_readyState(MediaPlayer::HaveNothing)
, m_networkState(MediaPlayer::Empty)
-#if USE(GSTREAMER_GL)
+#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
, m_drawTimer(RunLoop::main(), this, &MediaPlayerPrivateGStreamerBase::repaint)
#endif
, m_usingFallbackVideoSink(false)
@@ -575,7 +575,7 @@
m_player->repaint();
-#if USE(GSTREAMER_GL)
+#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
m_drawCondition.notifyOne();
#endif
}
@@ -595,22 +595,22 @@
}
#if USE(COORDINATED_GRAPHICS_THREADED)
-#if USE(GSTREAMER_GL)
- if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
- pushTextureToCompositor();
- else {
+ if (!m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
LockHolder locker(m_drawMutex);
m_drawTimer.startOneShot(0);
m_drawCondition.wait(m_drawMutex);
+ return;
}
+
+#if USE(GSTREAMER_GL)
+ pushTextureToCompositor();
#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
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h (207408 => 207409)
--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h 2016-10-17 16:19:10 UTC (rev 207408)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h 2016-10-17 16:56:19 UTC (rev 207409)
@@ -184,7 +184,7 @@
IntSize m_size;
mutable GMutex m_sampleMutex;
GRefPtr<GstSample> m_sample;
-#if USE(GSTREAMER_GL)
+#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
RunLoop::Timer<MediaPlayerPrivateGStreamerBase> m_drawTimer;
#endif
mutable FloatSize m_videoSize;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes