Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4c9c583641452ecb3807a9fa58103629431710cf
https://github.com/WebKit/WebKit/commit/4c9c583641452ecb3807a9fa58103629431710cf
Author: Enrique Ocaña González <[email protected]>
Date: 2023-09-28 (Thu, 28 Sep 2023)
Changed paths:
M
Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp
Log Message:
-----------
[GStreamer][MSE] Push STREAM_COLLECTION event after flushing
https://bugs.webkit.org/show_bug.cgi?id=262193
Reviewed by Alicia Boya Garcia <[email protected]>.
Flushing the playback pipeline when very first buffers are being pushed
downstream causes
STREAM_COLLECTION event to be dropped before reaching decodebin3. As a result
playback never
starts after flush (buffer push return not-linked). This happens on initial
seek sometimes,
when it is triggered at the same time that first buffers push.
STREAM_COLLECTION is dropped by GstBaseParse element specificaly that is
caching events and
sending them with first frame. Unfortunately flushing will drop all pending
events if first
frame is not ready yet.
Original author: Andrzej Surdej (https://github.com/asurdej-comcast)
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1197
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcStreamFlush): Reset hasPushedStreamCollectionEvent at the end of
the flush to force sending of the STREAM_COLLECTION event after that. Only for
GStreamer versions that don't have a proper fix yet.
Canonical link: https://commits.webkit.org/268582@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes