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

Reply via email to