Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2a2382187dbc549550ac8a4ca11a0a0f8672b0a6
      
https://github.com/WebKit/WebKit/commit/2a2382187dbc549550ac8a4ca11a0a0f8672b0a6
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2025-11-22 (Sat, 22 Nov 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm

  Log Message:
  -----------
  AudioVideoRenderer will constantly request for more data even if earlier 
request not serviced.
https://bugs.webkit.org/show_bug.cgi?id=303001
rdar://165259808

Reviewed by Eric Carlson.

The AVSampleBufferAudioRenderer can call the callback provided to 
`requestMediaDataWhenReadyOnQueue`
multiple times before stopRequestingMediaData is called.
When used across processes, it may call spuriously the callback before the
message to stop the request comes back.
There should be no need for the AudioVideoRenderer to ask to stop the 
requestMediaDataWhenReadyOnQueue
after each callback. So we make it part of the API.
The callback will now be called once, until the next 
requestMediaDataWhenReadyOnQueue
is issued.

Fly-By: Typo (m_readyToRequestVideoData vs m_readyToRequestAudioData) could
have caused audio callback to not be called if we were waiting on a video
flush.

* Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm:
(WebCore::AudioVideoRendererAVFObjC::requestMediaDataWhenReady):
* 
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::didBecomeReadyForMoreSamples):

Canonical link: https://commits.webkit.org/303456@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to