[webkit-changes] [WebKit/WebKit] e74081: Make AudioMediaStreamTrackRenderer ref counted
youennf
noreply at github.com
Sun Dec 1 22:41:38 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7408133b6cfe3982705fdca5e25a3192beb73a6
https://github.com/WebKit/WebKit/commit/e7408133b6cfe3982705fdca5e25a3192beb73a6
Author: Youenn Fablet <youenn at apple.com>
Date: 2024-12-01 (Sun, 01 Dec 2024)
Changed paths:
M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations
M Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.cpp
M Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h
M Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp
M Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h
M Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp
M Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.h
Log Message:
-----------
Make AudioMediaStreamTrackRenderer ref counted
rdar://140622949
https://bugs.webkit.org/show_bug.cgi?id=283757
Reviewed by Jean-Yves Avenard.
We make AudioMediaStreamTrackRenderer ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr.
This allows us to take valid weak pointers and protect the object when using it.
We update AudioTrackPrivateMediaStream to make benefit of it as well.
Drive by improvement, we nullify the renderer within AudioTrackPrivateMediaStream::clear to deallocate sooner the renderer.
* Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.cpp:
(WebCore::AudioMediaStreamTrackRenderer::create):
* Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h:
* Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp:
(WebCore::audioModuleFromSource):
(WebCore::AudioTrackPrivateMediaStream::createRenderer):
(WebCore::AudioTrackPrivateMediaStream::clear):
(WebCore::AudioTrackPrivateMediaStream::setVolume):
(WebCore::AudioTrackPrivateMediaStream::setAudioOutputDevice):
(WebCore::AudioTrackPrivateMediaStream::volume const):
(WebCore::AudioTrackPrivateMediaStream::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStream::updateRenderer):
(WebCore::AudioTrackPrivateMediaStream::startRenderer):
(WebCore::AudioTrackPrivateMediaStream::stopRenderer):
(WebCore::AudioTrackPrivateMediaStream::createNewRenderer):
* Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h:
* Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::start):
(WebCore::AudioMediaStreamTrackRendererCocoa::rendererUnit):
(WebCore::AudioMediaStreamTrackRendererCocoa::stop):
(WebCore::AudioMediaStreamTrackRendererCocoa::setVolume):
(WebCore::AudioMediaStreamTrackRendererCocoa::reset):
(WebCore::AudioMediaStreamTrackRendererCocoa::setRegisteredDataSource):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
* Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.h:
Canonical link: https://commits.webkit.org/287205@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list