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 <[email protected]>
  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" <[email protected]>

* 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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to