[webkit-changes] [WebKit/WebKit] fa1227: [MSE][GStreamer] Don't extend PTS of non-key frame
Enrique Ocaña González
noreply at github.com
Wed Feb 8 05:55:33 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fa12275b80a8b12cde02cb86e3750bf41b6c71f3
https://github.com/WebKit/WebKit/commit/fa12275b80a8b12cde02cb86e3750bf41b6c71f3
Author: Enrique Ocaña González <eocanha at igalia.com>
Date: 2023-02-08 (Wed, 08 Feb 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp
Log Message:
-----------
[MSE][GStreamer] Don't extend PTS of non-key frame
https://bugs.webkit.org/show_bug.cgi?id=251868
The edit list support patch from
https://bugs.webkit.org/show_bug.cgi?id=231019 was reverted in
https://bugs.webkit.org/show_bug.cgi?id=244428. While that patch isn't
landed again, we're growing the first buffer of an append near the
begining of the stream to make it start from 0. This workaround uses a
tolerance of 0.1s, and can cause problems on frames short enough to fit
more than one time in the tolerance margin (eg: 3 frames at 30fps would
fit, as well as 6 frames at 60fps).
The process of growing the seconde frame that still fit in the tolerance
is triggering the deletion of the first frame, which is usually a sync
one. This sweeps other frames into the deletion and causes problems.
This patch changes the condition to enable frame growing to only apply
on key frames (sync samples).
Original author: Eugene Mutavchi <Ievgen_Mutavchi at comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1015
Reviewed by Alicia Boya Garcia.
* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::appsinkNewSample): Don't extend PTS of non-key frame.
Canonical link: https://commits.webkit.org/260004@main
More information about the webkit-changes
mailing list