[webkit-changes] [WebKit/WebKit] 518a56: Cherry-pick 263860 at main (bc8bd3bac663). https://bu...

Michael Catanzaro noreply at github.com
Thu May 25 14:34:50 PDT 2023


  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: 518a565bd032a1750c9f2f4fa45e1abd3e581109
      https://github.com/WebKit/WebKit/commit/518a565bd032a1750c9f2f4fa45e1abd3e581109
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M LayoutTests/media/video-played-collapse.html
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/platform/graphics/MediaPlayer.cpp
    M Source/WebCore/platform/graphics/MediaPlayer.h
    M Source/WebCore/platform/graphics/MediaPlayerPrivate.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
    M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h

  Log Message:
  -----------
  Cherry-pick 263860 at main (bc8bd3bac663). https://bugs.webkit.org/show_bug.cgi?id=227687

    [GStreamer] Looped video is not seamless (flicker inbetween loops)
    https://bugs.webkit.org/show_bug.cgi?id=227687

    Reviewed by Xabier Rodriguez-Calvar.

    When the media element has its loop attribute set to true the player now performs SEGMENT
    non-flushing seeks to seek back to the beginning of the media. This ensures a seamless behavior as
    the pipeline state doesn't change and sinks don't flush. This can be done only on a playing pipeline
    though, because the segment seek is non-flushing. So when a seek is requested on a paused looping
    player we have to enable flush, this is a corner case issue though.

    * Source/WebCore/html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::parseAttribute):
    (WebCore::HTMLMediaElement::setLoop):
    * Source/WebCore/platform/graphics/MediaPlayer.cpp:
    (WebCore::MediaPlayer::isLoopingChanged):
    * Source/WebCore/platform/graphics/MediaPlayer.h:
    * Source/WebCore/platform/graphics/MediaPlayerPrivate.h:
    (WebCore::MediaPlayerPrivateInterface::isLoopingChanged):
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
    (WebCore::MediaPlayerPrivateGStreamer::play):
    (WebCore::MediaPlayerPrivateGStreamer::doSeek):
    (WebCore::MediaPlayerPrivateGStreamer::seek):
    (WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
    (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
    (WebCore::MediaPlayerPrivateGStreamer::updateStates):
    (WebCore::MediaPlayerPrivateGStreamer::didEnd):
    (WebCore::MediaPlayerPrivateGStreamer::isLoopingChanged):
    (WebCore::MediaPlayerPrivateGStreamer::ensureSeekFlags):
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
    * Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
    (WebCore::MediaPlayerPrivateGStreamerMSE::seek):
    (WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
    * Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:

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

Canonical link: https://commits.webkit.org/260527.358@webkitglib/2.40


  Commit: 04c77e57fdeafbaf04dd3c7f18d3b4fa945d34bd
      https://github.com/WebKit/WebKit/commit/04c77e57fdeafbaf04dd3c7f18d3b4fa945d34bd
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M LayoutTests/media/video-played-collapse.html
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h

  Log Message:
  -----------
  Cherry-pick 263921 at main (36d90edba1d7). https://bugs.webkit.org/show_bug.cgi?id=256519

    [GStreamer] video.loop cannot reliably be set on a paused pipeline
    https://bugs.webkit.org/show_bug.cgi?id=256519

    Reviewed by Xabier Rodriguez-Calvar.

    Flushing seeks are now working again on looping videos when seamless seeking is not achievable.
    Without this patch there is an infinite seek/didEnd loop at EOS for those cases.

    * LayoutTests/media/video-played-collapse.html:
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::doSeek):
    (WebCore::MediaPlayerPrivateGStreamer::seek):
    (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
    (WebCore::MediaPlayerPrivateGStreamer::isSeamlessSeekingEnabled const):

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

Canonical link: https://commits.webkit.org/260527.359@webkitglib/2.40


  Commit: 3901075a9e79086338dfbf1ed14d6545416d687a
      https://github.com/WebKit/WebKit/commit/3901075a9e79086338dfbf1ed14d6545416d687a
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Tools/Scripts/webkitpy/port/glib.py

  Log Message:
  -----------
  Cherry-pick 264064 at main (e4a2619c7a4c). https://bugs.webkit.org/show_bug.cgi?id=256757

    REGRESSION(262138 at main): [GStreamer] Broke video rendering when GL is disabled
    https://bugs.webkit.org/show_bug.cgi?id=256757

    Reviewed by Xabier Rodriguez-Calvar.

    The sample received from the Cairo sink is not transfer-full, so we shouldn't adopt its reference.
    Driving by, also allow passthrough of the WEBKIT_GST_DISABLE_GL_SINK environment variable in the
    test harness.

    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::createVideoSink):
    * Tools/Scripts/webkitpy/port/glib.py:
    (GLibPort.setup_environ_for_server):

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

Canonical link: https://commits.webkit.org/260527.360@webkitglib/2.40


  Commit: e025d971ceb9f8e5b78d6cfd0b93db0b3e678fff
      https://github.com/WebKit/WebKit/commit/e025d971ceb9f8e5b78d6cfd0b93db0b3e678fff
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

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

  Log Message:
  -----------
  Cherry-pick 264193 at main (62269b67734d). https://bugs.webkit.org/show_bug.cgi?id=256899

    [GStreamer] Audio sinks created by media players leak
    https://bugs.webkit.org/show_bug.cgi?id=256899

    Reviewed by Xabier Rodriguez-Calvar.

    Replace the leaky g_object_get() with a simple accessor to the m_audioSink member variable.

    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::audioSink const): Deleted.
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
    (WebCore::MediaPlayerPrivateGStreamer::audioSink const):

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

Canonical link: https://commits.webkit.org/260527.361@webkitglib/2.40


  Commit: 51be3941947095172d7780c0322c126d91a7dc02
      https://github.com/WebKit/WebKit/commit/51be3941947095172d7780c0322c126d91a7dc02
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp

  Log Message:
  -----------
  Cherry-pick 264198 at main (429ffbd25b0e). https://bugs.webkit.org/show_bug.cgi?id=256912

    [GLib] Remove obsolete documentation from WebKitWebsiteDataManager
    https://bugs.webkit.org/show_bug.cgi?id=256912

    Reviewed by Carlos Garcia Campos.

    The WebKitWebsiteDataManager documentation has many references to
    WebKitWebContext ownership of WebKitWebsiteDataManager, but in the 2022
    API version it is owned by WebKitNetworkSession. It's hard to fix
    because we cannot use conditional compilation inside doc comments. We
    can either (a) move the doc comment to the header file and have two
    different copies of the comment, or (b) simplify the comment by removing
    info about behavior that varies between API versions. I've opted for
    (b). I think most developers should still be able to figure out how to
    use it... hopefully.

    This is imperfect, but certainly better than having incorrect
    information in the documentation.

    * Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:

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

Canonical link: https://commits.webkit.org/260527.362@webkitglib/2.40


Compare: https://github.com/WebKit/WebKit/compare/ffa1fe87b279...51be39419470


More information about the webkit-changes mailing list