[webkit-changes] [WebKit/WebKit] ae4d38: REGRESSION(284072 at main): [GStreamer] A lot of medi...
Enrique Ocaña González
noreply at github.com
Fri Sep 27 05:59:47 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ae4d384da8afe6b90b4155f74110fd6da02dae9a
https://github.com/WebKit/WebKit/commit/ae4d384da8afe6b90b4155f74110fd6da02dae9a
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:
-----------
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
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