Bug 205802

Summary: Implement MediaRecorder backend in GPUProcess
Product: WebKit Reporter: youenn fablet <youennf>
Component: WebRTCAssignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Normal CC: annulen, cdumez, commit-queue, dbates, eric.carlson, ews-watchlist, glenn, gyuyoung.kim, hta, japhet, jer.noble, jiewen_tan, philipj, ross.kirsling, ryuan.choi, sergio, tommyw, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 205868    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch for landing
none
Patch for landing
none
Patch for landing
none
Build fixes none

youenn fablet
Reported 2020-01-06 08:13:03 PST
Implement MediaRecorder backend in GPUProcess
Attachments
Patch (89.22 KB, patch)
2020-01-06 08:16 PST, youenn fablet
no flags
Patch (89.27 KB, patch)
2020-01-06 08:33 PST, youenn fablet
no flags
Patch (89.37 KB, patch)
2020-01-06 08:55 PST, youenn fablet
no flags
Patch (89.37 KB, patch)
2020-01-06 09:16 PST, youenn fablet
no flags
Patch (89.69 KB, patch)
2020-01-06 23:16 PST, youenn fablet
no flags
Patch (90.30 KB, patch)
2020-01-06 23:55 PST, youenn fablet
no flags
Patch (90.34 KB, patch)
2020-01-07 00:22 PST, youenn fablet
no flags
Patch (92.20 KB, patch)
2020-01-07 03:13 PST, youenn fablet
no flags
Patch (101.81 KB, patch)
2020-01-07 05:00 PST, youenn fablet
no flags
Patch for landing (101.91 KB, patch)
2020-01-07 06:37 PST, youenn fablet
no flags
Patch for landing (104.39 KB, patch)
2020-01-07 07:11 PST, youenn fablet
no flags
Patch for landing (103.80 KB, patch)
2020-01-07 07:30 PST, youenn fablet
no flags
Build fixes (99.08 KB, patch)
2020-01-08 03:06 PST, youenn fablet
no flags
youenn fablet
Comment 1 2020-01-06 08:16:29 PST
youenn fablet
Comment 2 2020-01-06 08:33:59 PST
youenn fablet
Comment 3 2020-01-06 08:55:06 PST
youenn fablet
Comment 4 2020-01-06 09:16:17 PST
youenn fablet
Comment 5 2020-01-06 23:16:32 PST
youenn fablet
Comment 6 2020-01-06 23:55:47 PST
youenn fablet
Comment 7 2020-01-07 00:22:23 PST
youenn fablet
Comment 8 2020-01-07 03:13:21 PST
youenn fablet
Comment 9 2020-01-07 05:00:28 PST
Eric Carlson
Comment 10 2020-01-07 06:04:00 PST
Comment on attachment 386961 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386961&action=review > Source/WebCore/testing/Internals.cpp:555 > + page.mediaRecorderProvider().setUseGPUProcess(true); Is this the correct default? > Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:153 > +#if PLATFORM(COCOA) && USE(LIBWEBRTC) Should this be "#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM"? > Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:181 > + if (decoder.messageReceiverName() == Messages::RemoteMediaRecorders::messageReceiverName()) { > + mediaRecorders().didReceiveMessageFromWebProcess(connection, decoder); > + return; > + } > + if (decoder.messageReceiverName() == Messages::RemoteMediaRecorder::messageReceiverName()) { "RemoteMediaRecorders" is a bit subtle and easy to confuse with "RemoteMediaRecorder". Maybe something like "RemoteMediaRecorderManager" instead? > Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:52 > + // FIXME: We would better to throw an exception to JavaScript if writer creation fails. s/We would better to throw an exception/We should throw an exception/
youenn fablet
Comment 11 2020-01-07 06:10:15 PST
(In reply to Eric Carlson from comment #10) > Comment on attachment 386961 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=386961&action=review > > > Source/WebCore/testing/Internals.cpp:555 > > + page.mediaRecorderProvider().setUseGPUProcess(true); > > Is this the correct default? I think so, I am not sure we will enable MediaRecorder by default without GPUProcess. > > > Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:153 > > +#if PLATFORM(COCOA) && USE(LIBWEBRTC) > > Should this be "#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM"? Right. > > Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:181 > > + if (decoder.messageReceiverName() == Messages::RemoteMediaRecorders::messageReceiverName()) { > > + mediaRecorders().didReceiveMessageFromWebProcess(connection, decoder); > > + return; > > + } > > + if (decoder.messageReceiverName() == Messages::RemoteMediaRecorder::messageReceiverName()) { > > "RemoteMediaRecorders" is a bit subtle and easy to confuse with > "RemoteMediaRecorder". Maybe something like "RemoteMediaRecorderManager" > instead? OK, will go with manager. > > Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:52 > > + // FIXME: We would better to throw an exception to JavaScript if writer creation fails. > > s/We would better to throw an exception/We should throw an exception/ OK
youenn fablet
Comment 12 2020-01-07 06:15:53 PST
Comment on attachment 386961 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386961&action=review >>> Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:52 >>> + // FIXME: We would better to throw an exception to JavaScript if writer creation fails. >> >> s/We would better to throw an exception/We should throw an exception/ > > OK Actually, I implemented it now using m_errorCallback, will remove this FIXME.
youenn fablet
Comment 13 2020-01-07 06:37:07 PST
Created attachment 386965 [details] Patch for landing
youenn fablet
Comment 14 2020-01-07 07:11:50 PST
Created attachment 386966 [details] Patch for landing
youenn fablet
Comment 15 2020-01-07 07:30:42 PST
Created attachment 386968 [details] Patch for landing
WebKit Commit Bot
Comment 16 2020-01-07 09:08:11 PST
Comment on attachment 386968 [details] Patch for landing Clearing flags on attachment: 386968 Committed r254132: <https://trac.webkit.org/changeset/254132>
WebKit Commit Bot
Comment 17 2020-01-07 09:08:13 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 18 2020-01-07 09:09:19 PST
Ross Kirsling
Comment 19 2020-01-07 10:12:11 PST
This broke WinCairo, as indicated by EWS.
youenn fablet
Comment 20 2020-01-07 10:13:38 PST
(In reply to Ross Kirsling from comment #19) > This broke WinCairo, as indicated by EWS. I did not see it :( Will fix it.
Ross Kirsling
Comment 21 2020-01-07 10:15:11 PST
(In reply to youenn fablet from comment #20) > (In reply to Ross Kirsling from comment #19) > > This broke WinCairo, as indicated by EWS. > > I did not see it :( > Will fix it. No worries -- thanks Youenn!
WebKit Commit Bot
Comment 22 2020-01-07 10:29:36 PST
Re-opened since this is blocked by bug 205868
youenn fablet
Comment 23 2020-01-08 03:06:59 PST
Created attachment 387091 [details] Build fixes
WebKit Commit Bot
Comment 24 2020-01-08 04:45:12 PST
Comment on attachment 387091 [details] Build fixes Clearing flags on attachment: 387091 Committed r254194: <https://trac.webkit.org/changeset/254194>
WebKit Commit Bot
Comment 25 2020-01-08 04:45:14 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.