RESOLVED FIXED 219797
[GPUProcess] WebAudio rendering quantum is 15 instead of 128 when the GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=219797
Summary [GPUProcess] WebAudio rendering quantum is 15 instead of 128 when the GPU Pro...
Chris Dumez
Reported 2020-12-11 11:58:06 PST
WebAudio rendering quantum is 15 instead of 128 when the GPU Process is enabled. This generates a lot more IPC unnecessarily, not to mention how WebAudio code expects a rendering quantum of 128 and could potentially do bad things with a lower value.
Attachments
Patch (2.36 KB, patch)
2020-12-11 12:00 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2020-12-11 12:00:36 PST
Peng Liu
Comment 2 2020-12-11 12:13:15 PST
Comment on attachment 416025 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=416025&action=review > Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:108 > + if (otherProxy.preferredBufferSize() && otherProxy.preferredBufferSize() < preferredBufferSize) Do we need to consider the case that "otherProxy.preferredBufferSize()" returns a different value such as -1 if not set? I mean potentially.
Chris Dumez
Comment 3 2020-12-11 12:14:32 PST
(In reply to Peng Liu from comment #2) > Comment on attachment 416025 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=416025&action=review > > > Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:108 > > + if (otherProxy.preferredBufferSize() && otherProxy.preferredBufferSize() < preferredBufferSize) > > Do we need to consider the case that "otherProxy.preferredBufferSize()" > returns a different value such as -1 if not set? I mean potentially. size_t m_preferredBufferSize { 0 }; It is initialized to 0 by default. Also, it is unsigned.
Peng Liu
Comment 4 2020-12-11 12:17:14 PST
Comment on attachment 416025 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=416025&action=review >>> Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:108 >>> + if (otherProxy.preferredBufferSize() && otherProxy.preferredBufferSize() < preferredBufferSize) >> >> Do we need to consider the case that "otherProxy.preferredBufferSize()" returns a different value such as -1 if not set? I mean potentially. > > size_t m_preferredBufferSize { 0 }; > > It is initialized to 0 by default. Also, it is unsigned. Oh that's right! I looked AudioSession::preferredBufferSize() by mistake. :-)
EWS
Comment 5 2020-12-11 13:04:48 PST
Committed r270705: <https://trac.webkit.org/changeset/270705> All reviewed patches have been landed. Closing bug and clearing flags on attachment 416025 [details].
Radar WebKit Bug Importer
Comment 6 2020-12-11 13:05:19 PST
Note You need to log in before you can comment on or make changes to this bug.