RESOLVED FIXED 225603
Implement a remote Internal Unit in GPUProcess for audio MediaStreamTrack rendering
https://bugs.webkit.org/show_bug.cgi?id=225603
Summary Implement a remote Internal Unit in GPUProcess for audio MediaStreamTrack ren...
youenn fablet
Reported 2021-05-10 11:35:00 PDT
Implement a remote Internal Unit in GPUProcess for audio MediaStreamTrack rendering
Attachments
Patch (57.58 KB, patch)
2021-05-10 11:41 PDT, youenn fablet
no flags
Patch (56.09 KB, patch)
2021-05-12 03:36 PDT, youenn fablet
no flags
Patch (57.54 KB, patch)
2021-05-12 05:13 PDT, youenn fablet
no flags
Patch (58.07 KB, patch)
2021-05-18 03:03 PDT, youenn fablet
no flags
Patch for landing (58.52 KB, patch)
2021-05-18 04:45 PDT, youenn fablet
no flags
Patch for landing (58.53 KB, patch)
2021-05-20 06:45 PDT, youenn fablet
no flags
Fix small regression compared to previous approach (62.96 KB, patch)
2021-05-21 02:01 PDT, youenn fablet
no flags
Patch for landing (62.96 KB, patch)
2021-05-21 02:04 PDT, youenn fablet
no flags
youenn fablet
Comment 1 2021-05-10 11:41:06 PDT
youenn fablet
Comment 2 2021-05-12 03:36:14 PDT
youenn fablet
Comment 3 2021-05-12 05:13:22 PDT
youenn fablet
Comment 4 2021-05-12 06:31:01 PDT
A follow-up patch will remove the code sending individual audio track content to GPUProcess.
Eric Carlson
Comment 5 2021-05-12 09:31:22 PDT
Comment on attachment 428369 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=428369&action=review > Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:107 > + for (auto proxy : m_proxies.values()) > + proxy->restartIfNeeded(); Will we want to always relaunch the GPU process as soon as it exits, e.g. if under memory pressure?
Radar WebKit Bug Importer
Comment 6 2021-05-17 11:35:19 PDT
youenn fablet
Comment 7 2021-05-18 03:03:56 PDT
youenn fablet
Comment 8 2021-05-18 04:45:10 PDT
Created attachment 428929 [details] Patch for landing
youenn fablet
Comment 9 2021-05-18 04:45:57 PDT
(In reply to Eric Carlson from comment #5) > Comment on attachment 428369 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=428369&action=review > > > Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:107 > > + for (auto proxy : m_proxies.values()) > > + proxy->restartIfNeeded(); > > Will we want to always relaunch the GPU process as soon as it exits, e.g. if > under memory pressure? Good point, GPU Process will only restart if playing audio. Otherwise, it will wait for the unit to start to restart GPU Process.
youenn fablet
Comment 10 2021-05-20 00:58:08 PDT
Comment on attachment 428929 [details] Patch for landing iOS API test failure unrelated
EWS
Comment 11 2021-05-20 01:53:03 PDT
Patch 428929 does not build
youenn fablet
Comment 12 2021-05-20 06:45:02 PDT
Created attachment 429164 [details] Patch for landing
youenn fablet
Comment 13 2021-05-21 02:01:27 PDT
Created attachment 429273 [details] Fix small regression compared to previous approach
youenn fablet
Comment 14 2021-05-21 02:02:00 PDT
(In reply to youenn fablet from comment #13) > Created attachment 429273 [details] > Fix small regression compared to previous approach Regression was introduced by start being called for every source added.
EWS
Comment 15 2021-05-21 02:02:45 PDT
ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.
youenn fablet
Comment 16 2021-05-21 02:04:02 PDT
Created attachment 429274 [details] Patch for landing
EWS
Comment 17 2021-05-21 02:53:45 PDT
Committed r277852 (237994@main): <https://commits.webkit.org/237994@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 429274 [details].
Chris Dumez
Comment 18 2021-05-21 07:37:23 PDT
Comment on attachment 429274 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=429274&action=review > Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:111 > auto locker = holdLock(m_sourcesLock); Is m_sourcesLock only protecting m_sourcesCopy and not m_sources? If so, can it be renamed?
youenn fablet
Comment 19 2021-05-21 10:06:17 PDT
Yes, it should be renamed.
Chris Dumez
Comment 20 2021-05-21 11:31:11 PDT
(In reply to youenn fablet from comment #19) > Yes, it should be renamed. I am doing it now and adopting CheckedLock at the same time. Will cc you.
Chris Dumez
Comment 21 2021-05-21 11:34:08 PDT
(In reply to Chris Dumez from comment #20) > (In reply to youenn fablet from comment #19) > > Yes, it should be renamed. > > I am doing it now and adopting CheckedLock at the same time. Will cc you. -> https://bugs.webkit.org/show_bug.cgi?id=226095
Note You need to log in before you can comment on or make changes to this bug.