Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d765dcb98e1996814bf3b945a734857e5a3f38d
      
https://github.com/WebKit/WebKit/commit/0d765dcb98e1996814bf3b945a734857e5a3f38d
  Author: Philippe Normand <[email protected]>
  Date:   2026-03-30 (Mon, 30 Mar 2026)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirkAmLogic.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcomBase.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirkOpenMAX.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirkRealtek.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirkRialto.h
    M Source/WebCore/platform/gstreamer/GStreamerQuirks.cpp
    M Source/WebCore/platform/gstreamer/GStreamerQuirks.h

  Log Message:
  -----------
  Cherry-pick 310087@main (82ddc6a0bb6f). 
https://bugs.webkit.org/show_bug.cgi?id=310895

    [GStreamer] Pausing the pipeline at EOS is prone to resource exhaustion
    https://bugs.webkit.org/show_bug.cgi?id=310895

    Reviewed by Alicia Boya Garcia.

    In 270766@main the pipeline EOS state was changed from READY to PAUSED due 
to some "downstream
    platforms" having issues. The problem is that video and audio decoder 
resources are not released
    anymore unless a 5 minutes timer is fired after EOS. On test bots where 
multiple web pages run
    simultaneously this behavior can lead to file descriptors exhaustion.

    The proposed solution is to keep this EOS PAUSED state for all quirks 
excepted the Qualcomm quirk
    which is not affected. If no quirk is enabled, the EOS state is now READY, 
same as before
    270766@main.

    * 
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
    (WebCore::MediaPlayerPrivateGStreamer::tearDown):
    (WebCore::MediaPlayerPrivateGStreamer::pause):
    (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
    (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
    (WebCore::MediaPlayerPrivateGStreamer::didEnd):
    (WebCore::MediaPlayerPrivateGStreamer::eosTimerFired):
    (WebCore::MediaPlayerPrivateGStreamer::pausedTimerFired): Deleted.
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkAmLogic.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcomBase.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkOpenMAX.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkQualcomm.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkRealtek.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirkRialto.h:
    * Source/WebCore/platform/gstreamer/GStreamerQuirks.cpp:
    (WebCore::GStreamerQuirksManager::eosMediaPlayerState const):
    * Source/WebCore/platform/gstreamer/GStreamerQuirks.h:
    (WebCore::GStreamerQuirk::eosMediaPlayerState const):

    Canonical link: https://commits.webkit.org/310087@main

Canonical link: https://commits.webkit.org/305877.333@webkitglib/2.52



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to