[webkit-changes] [WebKit/WebKit] ea9058: REGRESSION(290146 at main): Broke non-GL video rendering

Philippe Normand noreply at github.com
Tue Feb 11 04:51:30 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea905898dafa50ba928c6ad6c9ae5d82e4205684
      https://github.com/WebKit/WebKit/commit/ea905898dafa50ba928c6ad6c9ae5d82e4205684
  Author: Philippe Normand <philn at igalia.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h

  Log Message:
  -----------
  REGRESSION(290146 at main): Broke non-GL video rendering
https://bugs.webkit.org/show_bug.cgi?id=287476

Reviewed by Carlos Garcia Campos.

In 290146 at main the notify::caps signal handler was moved to webKitVideoSinkSetMediaPlayerPrivate()
but the non-GL sink doesn't rely on that code, so we need another handler specific to the non-GL
sink.

The code responsible for filling the GstVideoInfo and DMABuf format from the video caps was also
moved to a new method that is called from the notify::caps callback and also potentially from
pushTextureToCompositor() in order to prevent race conditions between the video sink pad streaming
thread and the player rendering thread.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateVideoInfoFromCaps):
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChanged):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

Canonical link: https://commits.webkit.org/290206@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