Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 441e431f0380b2a400fa1237156a8b1f202f0a9b https://github.com/WebKit/WebKit/commit/441e431f0380b2a400fa1237156a8b1f202f0a9b Author: Youenn Fablet <you...@apple.com> Date: 2024-11-20 (Wed, 20 Nov 2024)
Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/cocoa/IncomingAudioMediaStreamTrackRendererUnit.cpp M Source/WebCore/platform/mediastream/cocoa/IncomingAudioMediaStreamTrackRendererUnit.h M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp Log Message: ----------- Allow taking a ref of IncomingAudioMediaStreamTrackRendererUnit rdar://140113682 https://bugs.webkit.org/show_bug.cgi?id=283293 Reviewed by Jean-Yves Avenard. Instead of taking a ref of LibWebRTCAudioModule to keep its IncomingAudioMediaStreamTrackRendererUnit alive, we implement ref/deref in IncomingAudioMediaStreamTrackRendererUnit. We can then create a Ref of IncomingAudioMediaStreamTrackRendererUnit when posting a task and keeping it alive. We update LibWebRTCAudioModule to make it ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr and use a ThreadSafeWeakPtr in IncomingAudioMediaStreamTrackRendererUnit. This ThreadSafeWeakPtr is expected to always be valid given LibWebRTCAudioModule owns IncomingAudioMediaStreamTrackRendererUnit. * Source/WebCore/Headers.cmake: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/mediastream/cocoa/IncomingAudioMediaStreamTrackRendererUnit.cpp: (WebCore::IncomingAudioMediaStreamTrackRendererUnit::~IncomingAudioMediaStreamTrackRendererUnit): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::addSource): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::removeSource): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::start): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::stop): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::postTask): * Source/WebCore/platform/mediastream/cocoa/IncomingAudioMediaStreamTrackRendererUnit.h: (WebCore::IncomingAudioMediaStreamTrackRendererUnit::ref): (WebCore::IncomingAudioMediaStreamTrackRendererUnit::deref): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp: (WebCore::LibWebRTCAudioModule::incomingAudioMediaStreamTrackRendererUnit): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h: (WebCore::LibWebRTCAudioModule::create): (WebCore::LibWebRTCAudioModule::stop): (WebCore::LibWebRTCAudioModule::ref): Deleted. (WebCore::LibWebRTCAudioModule::deref): Deleted. * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: (WebCore::LibWebRTCProvider::~LibWebRTCProvider): (WebCore::LibWebRTCProvider::createPeerConnectionFactory): Canonical link: https://commits.webkit.org/286852@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes