Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9b1c8b87c0a4e15d6fae01eab25971e7c76b6b9a https://github.com/WebKit/WebKit/commit/9b1c8b87c0a4e15d6fae01eab25971e7c76b6b9a Author: Žan Doberšek <zdober...@igalia.com> Date: 2023-03-02 (Thu, 02 Mar 2023)
Changed paths: M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp Log Message: ----------- [GStreamer] Improve GBM swapchain buffer handling https://bugs.webkit.org/show_bug.cgi?id=253245 Reviewed by Philippe Normand. In MediaPlayerPrivateGStreamer::pushDMABufToCompositor(), when allocating buffer objects from the GBMBufferSwapchain to upload the software-decoded video data, do a null check on the retrieved buffer. This avoids proceeding with a null object that would be returned when for whatever perverse reason the swapchain is drained of available buffers. One such reason is when allocating, retrieving and locking buffers from the swapchain under an inactive proxy. In that case, the buffer doesn't end up being pushed into the composition, and it's then also never released and made available for reuse, effectively draining the swapchain. This case is avoidable through earlier detection of an inactive proxy. The proxy lock and is-active check are unified between different codepaths and done before deciding which codepath is taken. * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor): Canonical link: https://commits.webkit.org/261077@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes