[webkit-changes] [WebKit/WebKit] 16213b: [MSE][GStreamer] Avoid extra/circular refs between...

Xabier Rodríguez noreply at github.com
Thu May 2 07:57:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 16213bb802f7eecbf2c8d73438d8c37d222005f8
      https://github.com/WebKit/WebKit/commit/16213bb802f7eecbf2c8d73438d8c37d222005f8
  Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
    M Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp

  Log Message:
  -----------
  [MSE][GStreamer] Avoid extra/circular refs between tracks/streams
https://bugs.webkit.org/show_bug.cgi?id=273488

Reviewed by Alicia Boya Garcia.

1. Avoid adding the same stream to the hash map. Also keeping the active/valid tracks in the player.
2. Avoid a hard reference in the source buffer when ready for more samples.
3. Break the indirect circular reference between the stream and track through the pad.

* Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::filterOutRepeatingTracks):
(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):
(WebCore::MediaPlayerPrivateGStreamerMSE::startSource):
* Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples):
* Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcEmitStreams):
(webKitMediaSrcActivateMode):
(webKitMediaSrcPadLinked):
(webKitMediaSrcLoop):

Canonical link: https://commits.webkit.org/278259@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list