Title: [281827] trunk/Source/WebCore
Revision
281827
Author
[email protected]
Date
2021-08-31 15:50:45 -0700 (Tue, 31 Aug 2021)

Log Message

[GStreamer] Fix deadlock tearing down pipeline when using fallback sink
https://bugs.webkit.org/show_bug.cgi?id=229619

Patch by Thibault Saunier <[email protected]> on 2021-08-31
Reviewed by Xabier Rodriguez-Calvar.

Whenever GstGL is disabled for whatever reason the fallback sink might
be used and cancelling repaint need to be taken into account in any case.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (281826 => 281827)


--- trunk/Source/WebCore/ChangeLog	2021-08-31 22:46:05 UTC (rev 281826)
+++ trunk/Source/WebCore/ChangeLog	2021-08-31 22:50:45 UTC (rev 281827)
@@ -1,3 +1,16 @@
+2021-08-31  Thibault Saunier  <[email protected]>
+
+        [GStreamer] Fix deadlock tearing down pipeline when using fallback sink
+        https://bugs.webkit.org/show_bug.cgi?id=229619
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Whenever GstGL is disabled for whatever reason the fallback sink might
+        be used and cancelling repaint need to be taken into account in any case.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):
+
 2021-08-31  Sihui Liu  <[email protected]>
 
         REGRESSION (r281771): ASSERTION FAILED: !m_deletionHasBegun under WebCore::Permissions::~Permissions()

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (281826 => 281827)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-08-31 22:46:05 UTC (rev 281826)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-08-31 22:50:45 UTC (rev 281827)
@@ -3136,7 +3136,7 @@
     //
     // This function is also used when destroying the player (destroying parameter is true), to release the gstreamer thread from
     // m_drawCondition and to ensure that new triggerRepaint calls won't wait on m_drawCondition.
-    if (!m_canRenderingBeAccelerated) {
+    if (m_isUsingFallbackVideoSink) {
         Locker locker { m_drawLock };
         m_drawTimer.stop();
         m_isBeingDestroyed = destroying;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to