[webkit-changes] [WebKit/WebKit] fa6485: Cherry-pick 284353 at main (ae4d384da8af). https://bu...
Enrique Ocaña González
noreply at github.com
Fri Sep 27 13:58:16 PDT 2024
Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: fa6485cc7f3b7806bcd8e63294f8606e560823f4
https://github.com/WebKit/WebKit/commit/fa6485cc7f3b7806bcd8e63294f8606e560823f4
Author: Enrique Ocaña González <eocanha at igalia.com>
Date: 2024-09-27 (Fri, 27 Sep 2024)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
Cherry-pick 284353 at main (ae4d384da8af). https://bugs.webkit.org/show_bug.cgi?id=280334
REGRESSION(284072 at main): [GStreamer] A lot of media tests crash with Assertion "SHOULD NEVER BE REACHED"
https://bugs.webkit.org/show_bug.cgi?id=280334
Reviewed by Xabier Rodriguez-Calvar and Philippe Normand.
A video can work in two modes: streaming mode (GstQueue2 element is
used, GST_MESSAGE_BUFFERING is relied upon to get buffering info) or
download mode (GstDownloadBuffer element is used, fillTimer is used to
poll its buffering percentage).
However, under some circumstances (file or mediastream URI, for
instance), none of these two GStreamer elements are created and the
player private was expecting the video to work in download mode. The
failing assert higlighted the mismatch when fillTimerFired asked for the
buffering percentage. But the truth is that in these special cases the
video can actually work in stream mode and ask the whole pipeline or the
sinks for the buffering percentage (which usually is just 100%, meaning
that buffering is complete).
This commit acknowledges the existence of these special cases and
removes the assert. Also, it stops the fillTimer when buffering reaches
100% in those cases, to avoid wasting resources.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::queryBufferingPercentage): Removed assert. Added extra comment. Stop fillTimer (and report it in the logs) when on stream mode and buffering reaching 100%.
Canonical link: https://commits.webkit.org/284353@main
Canonical link: https://commits.webkit.org/282416.171@webkitglib/2.46
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