Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: da9dd87407211e7b41a3293d480941740b747721
https://github.com/WebKit/WebKit/commit/da9dd87407211e7b41a3293d480941740b747721
Author: Jean-Yves Avenard <[email protected]>
Date: 2025-12-19 (Fri, 19 Dec 2025)
Changed paths:
M Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm
M Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.h
M Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.mm
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm
M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h
Log Message:
-----------
WebAVSampleBufferListenerClient : com.apple.WebCore:
WTF::ThreadSafeWeakPtrControlBlock::strongRef const
https://bugs.webkit.org/show_bug.cgi?id=304390
rdar://166770286
Reviewed by Youenn Fablet and Gerald Squelart.
VideoMediaSampleRenderer was a WebAVSampleBufferListenerClient and
ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr.
As such, WebAVSampleBufferListener using a WeakPtr wasn't safe.
We make the WebAVSampleBufferListener a
AbstractThreadSafeRefCountedAndCanMakeWeakPtr instead.
AudioVideoRendererAVFObjC as such also has to be used with a ThreadSafeWeakPtr.
remove WebAVSampleBufferListenerClient inheritance from MediaPlayerPrivateWebM.
It was
no longer required since it adopted AudioVideoRenderer.
* Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm:
(WebCore::AudioVideoRendererAVFObjC::requestMediaDataWhenReady):
(WebCore::AudioVideoRendererAVFObjC::notifyTimeReachedAndStall):
(WebCore::AudioVideoRendererAVFObjC::performTaskAtTime):
(WebCore::AudioVideoRendererAVFObjC::setTimeObserver):
(WebCore::AudioVideoRendererAVFObjC::setVideoRenderer):
(WebCore::AudioVideoRendererAVFObjC::configureHasAvailableVideoFrameCallbackIfNeeded):
(WebCore::AudioVideoRendererAVFObjC::sizeWillChangeAtTime):
(WebCore::AudioVideoRendererAVFObjC::stageVideoRenderer):
* Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.h:
* Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.mm:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm: Remove use
of WeakPtr, must use ThreadSafeWeakPtr
(WebCore::MediaPlayerPrivateWebM::load):
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h:
Canonical link: https://commits.webkit.org/304736@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications