-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Web Audio glitches when hardware buffer size is not divisible by 128
https://bugs.webkit.org/show_bug.cgi?id=259899 <radar://112621241> Reviewed by Chris Dumez. Whenever the buffer size of the hardware was not a multiple of 128, the audio would not be in sync with the client leading to audible artifacts. We can fix this by passing the number of frames from AURemoteIO to the web process and rendering all of the frames that AURemoteIO asked us to render. * Source/WebKit/GPUProcess/media/RemoteAudioDestinationManager.cpp: (WebKit::RemoteAudioDestinationManager::createAudioDestination): Create a shared memory member variable which we can write the frame count from AURemoteUI to. * Source/WebKit/GPUProcess/media/RemoteAudioDestinationManager.h: Update member function parameters. * Source/WebKit/GPUProcess/media/RemoteAudioDestinationManager.messages.in: Pass the shared memory handle to the web process. * Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp: (WebKit::RemoteAudioDestinationProxy::startRenderingThread): Get the number of frames to render from the shared memory with the GPU process. (WebKit::RemoteAudioDestinationProxy::connection): Create the shared memory handle in the web process and pass it to the GPU process. We could create it the other way around, but it would require adding another IPC message, which seems uncessary for this purpose. * Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.h: Add shared memory member variable. Canonical link: https://commits.webkit.org/266747@main
- Loading branch information
1 parent
612cb56
commit f35686d
Showing
5 changed files
with
48 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters