Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7408133b6cfe3982705fdca5e25a3192beb73a6
https://github.com/WebKit/WebKit/commit/e7408133b6cfe3982705fdca5e25a3192beb73a6
Author: Youenn Fablet <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes