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/
<rdar://problem/83355705>
> visibilitychange event is not fired This seems like it would have an even broader impact.
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).
Created attachment 439081 [details] Patch
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`.
Created attachment 439125 [details] Patch for landing
Created attachment 439130 [details] Fix potential test flakiness
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].
*** Bug 230698 has been marked as a duplicate of this bug. ***
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?