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

Reply via email to