Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 04cc4a4e2fc235ab43cc38dbe880d9ddb6b6e5dd
https://github.com/WebKit/WebKit/commit/04cc4a4e2fc235ab43cc38dbe880d9ddb6b6e5dd
Author: Enrique Ocaña González <[email protected]>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M
Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp
Log Message:
-----------
[MSE][GStreamer] block data flow until source pad is exposed
https://bugs.webkit.org/show_bug.cgi?id=276251
Reviewed by Xabier Rodriguez-Calvar.
In WebKitMediaSrc, there could be a race between main thread (linking
typefind element, see gsturisourcebin.c:setup_typefind) and streaming
thread (pushing data). webKitMediaSrcLoop does wait for source pad to
linked. However, there is no guarantee that peer pad is already active
at that point. This may lead to data loss while peer the pad is being
activated.
This change blocks downstream flow during pad addition, allowing
urisourcebin to link/activate typefind sink pad.
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1355
Original patch by Eugene Mutavchi <[email protected]>.
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcEmitStreams): Add blocking probes to the Streams Pads, which
will be removed after the pad has been added to the element.
Canonical link: https://commits.webkit.org/280813@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes