[webkit-changes] [WebKit/WebKit] fe0e18: [GStreamer] Deadlock when rendering frames to canvas
Philippe Normand
noreply at github.com
Thu Jan 16 03:37:36 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fe0e185d178c1716acbad24a144a09c1bd4f0d06
https://github.com/WebKit/WebKit/commit/fe0e185d178c1716acbad24a144a09c1bd4f0d06
Author: Philippe Normand <philn at igalia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameConverter.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
[GStreamer] Deadlock when rendering frames to canvas
https://bugs.webkit.org/show_bug.cgi?id=285988
Reviewed by Xabier Rodriguez-Calvar.
Release the player sample mutex before doing a potential conversion and rendering, otherwise another
thread might attempt to lock it while the conversion is sill on-going, leading to deadlocks. The
video frame converter also now times out after waiting 200ms on the pipeline, otherwise it might get
stuck forever, leading to potential zombie WebProcesses.
This was manually tested on a Debug build, with the mediastream tests.
* Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameConverter.cpp:
(WebCore::GStreamerVideoFrameConverter::convert):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::paint):
Canonical link: https://commits.webkit.org/289000@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list