[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