[webkit-changes] [WebKit/WebKit] b13936: [GStreamer] Fix delayed dispatch of async task pos...

Enrique Ocaña González noreply at github.com
Thu Dec 21 03:07:06 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b1393655168baaef5595d59edb774c0ba12bc8cd
      https://github.com/WebKit/WebKit/commit/b1393655168baaef5595d59edb774c0ba12bc8cd
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2023-12-21 (Thu, 21 Dec 2023)

  Changed paths:
    M Source/WebCore/platform/AbortableTaskQueue.h
    M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp

  Log Message:
  -----------
  [GStreamer] Fix delayed dispatch of async task post MediaPlayer destruction
https://bugs.webkit.org/show_bug.cgi?id=266715

Reviewed by Xabier Rodriguez-Calvar.

When the media player is destroyed, there can still be async tasks (from AbortableTaskQueue)
ongoing, some of them related to tracks. Those tasks should be aborted, because they depend
on objects that are no longer there.

This patch aborts all pending tasks on AbortableTaskQueue destruction and also unregisters
all pending callbacks from TrackPrivateBaseGStreamer (and asserts that they're no longer
there).

See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1231

Original author: "Vivek.A" <Vivek_Arumugam at comcast.com>

* Source/WebCore/platform/AbortableTaskQueue.h: Abort tasks on destruction.
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::disconnect): Disconnect handlers and assert.

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




More information about the webkit-changes mailing list