Bug 230538

Summary: [IOS 15] Video track does not get unmuted in case of tab was inactive less than ~500 ms
Product: WebKit Reporter: olena.bezkrovna
Component: WebRTCAssignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Critical CC: cdumez, eric.carlson, ews-watchlist, glenn, hta, jer.noble, joel, philipj, sergio, tommyw, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: iPhone / iPad   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=231057
Attachments:
Description Flags
Patch
none
Patch for landing
none
Fix potential test flakiness none

olena.bezkrovna
Reported 2021-09-21 01:37:50 PDT
Steps: 1. Start video 2. Put to the background and back to foreground right away or switch to a different tab and return Actual result: Video is not restarted, also visibilitychange event is not fired Issue is not reproducible on IOS 14.7 Can be tested on WebRTC sample - https://webrtc.github.io/samples/src/content/getusermedia/gum/
Attachments
Patch (30.06 KB, patch)
2021-09-23 12:31 PDT, youenn fablet
no flags
Patch for landing (30.17 KB, patch)
2021-09-23 22:52 PDT, youenn fablet
no flags
Fix potential test flakiness (30.21 KB, patch)
2021-09-23 23:53 PDT, youenn fablet
no flags
Radar WebKit Bug Importer
Comment 1 2021-09-21 09:42:10 PDT
Alexey Proskuryakov
Comment 2 2021-09-21 09:44:52 PDT
> visibilitychange event is not fired This seems like it would have an even broader impact.
youenn fablet
Comment 3 2021-09-23 06:47:32 PDT
I can reproduce as well, this seems like a fallout of moving to GPUProcess. We should probably notify muted state when getting interrupted from GPUProcess, instead of muting the source (which stops the underlying source and ends up removing the possibility to be notified of the unsuspension).
youenn fablet
Comment 4 2021-09-23 12:31:26 PDT
Eric Carlson
Comment 5 2021-09-23 13:21:57 PDT
Comment on attachment 439081 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=439081&action=review > Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:386 > + undefined setMockCameraInterruption(boolean isInterrupted); Nit: I think the would be better as `setMockCameraIsInterrupted`.
youenn fablet
Comment 6 2021-09-23 22:52:05 PDT
Created attachment 439125 [details] Patch for landing
youenn fablet
Comment 7 2021-09-23 23:53:50 PDT
Created attachment 439130 [details] Fix potential test flakiness
EWS
Comment 8 2021-09-24 02:39:24 PDT
Committed r283033 (242093@main): <https://commits.webkit.org/242093@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 439130 [details].
youenn fablet
Comment 9 2021-09-29 02:28:31 PDT
*** Bug 230698 has been marked as a duplicate of this bug. ***
Joel Udwin
Comment 10 2021-10-13 10:52:48 PDT
Just tested the repro steps on iOS 15.1 beta 4 and still encountered the issue. Was this expected to be fixed in this release?
Note You need to log in before you can comment on or make changes to this bug.