Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fe0e185d178c1716acbad24a144a09c1bd4f0d06
      
https://github.com/WebKit/WebKit/commit/fe0e185d178c1716acbad24a144a09c1bd4f0d06
  Author: Philippe Normand <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to