RESOLVED FIXED 217316
Make sure to fire the correct set of events in case MediaRecorder stream has track changes
https://bugs.webkit.org/show_bug.cgi?id=217316
Summary Make sure to fire the correct set of events in case MediaRecorder stream has ...
youenn fablet
Reported 2020-10-05 08:33:14 PDT
WebKit MediaRecorderPrivate::startRecording callback should not set audio/video tracks if recorder is stopped
Attachments
Patch (18.58 KB, patch)
2020-10-06 02:39 PDT, youenn fablet
no flags
Patch (18.58 KB, patch)
2020-10-06 06:50 PDT, youenn fablet
no flags
Patch for landing (18.58 KB, patch)
2020-10-06 08:52 PDT, youenn fablet
no flags
youenn fablet
Comment 1 2020-10-05 08:35:03 PDT
Or maybe add a clean method for MediaRecorderPrivate and call it in MediaRecorder::fetchData fetchDataCallback
youenn fablet
Comment 2 2020-10-06 02:12:57 PDT
Make sure to fire the correct set of events in case MediaRecorder stream has track changes
youenn fablet
Comment 3 2020-10-06 02:39:52 PDT
EWS Watchlist
Comment 4 2020-10-06 02:40:35 PDT
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
youenn fablet
Comment 5 2020-10-06 02:44:12 PDT
Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/26006
youenn fablet
Comment 6 2020-10-06 06:50:34 PDT
Eric Carlson
Comment 7 2020-10-06 08:38:23 PDT
Comment on attachment 410631 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=410631&action=review > Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:71 > if (result.hasException()) > return result.releaseException(); > > + result.releaseReturnValue()->stop(); > + As we discussed, I think it would be helpful to have a comment explaining why the private recorder is allocated and abandoned immediately. > Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:283 > + dispatchError(Exception { InvalidModificationError, "Track cannot be added to or removed from the MediaStream while recording is happening"_s }); s/while recording is happening/while recording/ > LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html:41 > + assert_equals(mediaRecorderErrorEvent.error.name, 'InvalidModificationError', 'the type of error should be UnknownError when track has been added or removed'); s/should be UnknownError when/should be InvalidModificationError when/ > LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html:60 > + assert_equals(mediaRecorderErrorEvent.error.name, 'InvalidModificationError', 'the type of error should be UnknownError when track has been added or removed'); Ditto.
youenn fablet
Comment 8 2020-10-06 08:44:57 PDT
(In reply to Eric Carlson from comment #7) > Comment on attachment 410631 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=410631&action=review > > > Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:71 > > if (result.hasException()) > > return result.releaseException(); > > > > + result.releaseReturnValue()->stop(); > > + > > As we discussed, I think it would be helpful to have a comment explaining > why the private recorder is allocated and abandoned immediately. I filed https://bugs.webkit.org/show_bug.cgi?id=217387 to keep track of this refactoring.
youenn fablet
Comment 9 2020-10-06 08:52:14 PDT
Created attachment 410643 [details] Patch for landing
EWS
Comment 10 2020-10-07 02:22:53 PDT
Committed r268119: <https://trac.webkit.org/changeset/268119> All reviewed patches have been landed. Closing bug and clearing flags on attachment 410643 [details].
Radar WebKit Bug Importer
Comment 11 2020-10-07 02:23:17 PDT
Note You need to log in before you can comment on or make changes to this bug.