Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 61d17594f7e3620871c08ea2b55a49008951acdd
https://github.com/WebKit/WebKit/commit/61d17594f7e3620871c08ea2b55a49008951acdd
Author: Jean-Yves Avenard <[email protected]>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M Source/WebCore/SaferCPPExpectations/ForwardDeclCheckerExpectations
M Source/WebCore/platform/mediarecorder/MediaRecorderPrivateEncoder.cpp
M Source/WebCore/platform/mediarecorder/MediaRecorderPrivateEncoder.h
Log Message:
-----------
MediaRecorderPrivateEncoder shouldn't use lock on audio thread.
https://bugs.webkit.org/show_bug.cgi?id=293174
rdar://151516146
Reviewed by Youenn Fablet.
Make access to the ringbuffers lockless.
Whenever the audio format changes, we have to create a new ringbuffer.
We now send the new ringbuffer to the queue alongside an Id to be able
to determine when the old ringbuffer is no longer in use and can be safely
removed from the dequeue, doing it all on the audio thread.
The lock was a low contention one, being only ever taken on the audio thread.
The only time it would be taken on the workqueue was if the audio format
changed.
There's still a memory allocation required whenever the audio format change
(including on the first sample received).
Covered by existing tests, no change in observable behaviour
Canonical link: https://commits.webkit.org/295090@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