RESOLVED FIXED303001
AudioVideoRenderer will constantly request for more data even if earlier request not serviced.
https://bugs.webkit.org/show_bug.cgi?id=303001
Summary AudioVideoRenderer will constantly request for more data even if earlier requ...
Jean-Yves Avenard [:jya]
Reported 2025-11-22 00:54:27 PST
When you call AudioVideoRenderer::requestMediaDataWhenReady() the callback can be called, under some circumstances infinitely such as when debugging the process the API contract should be changed where the AudioVideoRenderer only calls once the callback, and remove the need to call `AudioVideoRenderer::stopRequestingMediaData` each time. The API contract should be: if AudioVideoRenderer::isReadyForMoreSamples returns false, then you call AudioVideoRenderer::requestMediaDataWhenReady() once. The AudioVideoRenderer will only call the callback once, and will not do so again until `AudioVideoRenderer::requestMediaDataWhenReady` is called again. The AudioVideoRenderer API mimicked the AVSampleBufferDisplayLayer and AVSampleBufferAudioRenderer which requires you to call `stopRequestingMediaData` ; but when used over IPC, the request to cancel may not come quickly enough, and the AVSampleBufferAudioRenderer will call the callback repeatedly leading to massive memory usage as a new IPC message is created but never serviced (if the web process is suspended)
Attachments
Radar WebKit Bug Importer
Comment 1 2025-11-22 00:54:34 PST
Jean-Yves Avenard [:jya]
Comment 2 2025-11-22 14:02:22 PST
EWS
Comment 3 2025-11-22 21:56:12 PST
Committed 303456@main (2a2382187dbc): <https://commits.webkit.org/303456@main> Reviewed commits have been landed. Closing PR #54374 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.