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

Reply via email to