[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