Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7fd5af5101339bcf6c80040a5f74e35368effad4
https://github.com/WebKit/WebKit/commit/7fd5af5101339bcf6c80040a5f74e35368effad4
Author: Enrique Ocaña González <[email protected]>
Date: 2022-10-17 (Mon, 17 Oct 2022)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
Log Message:
-----------
[GStreamer] Fix prolonged buffering during progressive live playback
https://bugs.webkit.org/show_bug.cgi?id=246352
Reviewed by Xabier Rodriguez-Calvar.
On one of the Comcast devices prolonged buffering is observed in some apps
where live assets are using progressive player. The high threshold of the
queue element (used in live videos or in scenarios where disk buffering is
disabled) can be lowered to mitigate the problem, so that buffering can finish
much faster.
This patch sets the high-watermark on the GstQueue2 element.
The way in which elements are configured has been refactored to its own method.
This may not seem very important in the upstream code, but will certainly ease
the porting to the downstream repository, where at least 3 other custom
configurations are done for other platform dependant elements[1].
Original author: Pawel Lampe <[email protected]>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/953
[1]
https://github.com/WebPlatformForEmbedded/WPEWebKit/blob/9f61fce0a2b04a3784440cf5ea6b8473c670c19d/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp#L3866
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::configureElement): New method to
centralize the setup of the elements. It delegates to configureVideoDecoder(),
configureDepayloader(), etc. for specific elements and handles the rest of the
configuration for non-specific ones (such as GstQueue2).
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Use the new
configureElement() method instead of having everithing embedded in a lambda.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Created configureElement().
Canonical link: https://commits.webkit.org/255627@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes