[webkit-changes] [WebKit/WebKit] 738525: [GStreamer] Fix readyState calculations
Vivienne
noreply at github.com
Mon Nov 28 03:49:10 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 738525821b033b3a945e32e3a9c4255af0af595a
https://github.com/WebKit/WebKit/commit/738525821b033b3a945e32e3a9c4255af0af595a
Author: Vivienne Watermeier <vwatermeier at igalia.com>
Date: 2022-11-28 (Mon, 28 Nov 2022)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
[GStreamer] Fix readyState calculations
https://bugs.webkit.org/show_bug.cgi?id=248217
Reviewed by Philippe Normand.
On some platforms, the audio sink is acting as a fake sink while the decoder fetches data
from the pipeline and transfers it to the SoC drivers, even in READY and PAUSED states,
meaning we cannot rely on buffering messages anymore.
However, on that platform the audio sinks implements buffering queries, that are currently
issued to the entire pipeline, which on some platforms may yield misleading results
if some random element implements buffering queries and receives that query first.
Thus this patch first queries the audio sink, before trying the video sink and finally
the pipeline itself.
Original author: Pawel Lampe <pawel.lampe at gmail.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/975
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Send buffering query to audio/video sinks first
Canonical link: https://commits.webkit.org/257066@main
More information about the webkit-changes
mailing list