[Webkit-unassigned] [Bug 273938] New: IOS 17.4.1 getUserMedia camera stream does not work in pwa on some devices

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 9 05:19:38 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=273938

            Bug ID: 273938
           Summary: IOS 17.4.1 getUserMedia camera stream does not work in
                    pwa on some devices
           Product: WebKit
           Version: Safari 17
          Hardware: iPhone / iPad
                OS: iOS 17
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebRTC
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: tombauer345 at gmail.com
                CC: youennf at gmail.com

When in the manifest.json display is standalone/fullscreen the camera stream does not work and only sends the loadstart progress and suspend events after added to the homescreen. In the browser it works fine and sends all expected events. I have an iphone 15 pro and with ios 17.4.1. It for some reason works on the same website when using an iphone 11 pro also on ios 17.4.1. The devices have the exact same safari settings. Also no errors are thrown in either setup. I've tried to clear all safari data and website data but the bug remains. Any ideas or is this an actual webkit bug? I think it was once a bug a few years ago maybe it came back? I didn't have any issues prior to the newest ios verison.

my code setup:

<html>
        <head>
                <link rel="manifest" href="manifest.json">
        </head>
        <body>S
                <video id="video" width="200" height="200" autoplay playsinline muted></video>
                <script>
                        const video = document.getElementById('video');

                        const events = [
                          'play', 'waiting', 'loadstart', 'progress', 'suspend',
                          'durationchange', 'loadedmetadata', 'loadeddata', 
                          'canplay', 'playing', 'canplaythrough', 'timeupdate'
                        ];

                        events.forEach(e => {
                          video.addEventListener(e, () => {
                                console.log(`${e} event fired`);
                          });
                        });

                        if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
                                navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' }})
                                .then(function(stream) {
                                        video.srcObject = stream;
                                            video.onloadedmetadata = () => {
                                                        video.play();
                                                };

                                })
                                .catch(function(error) {
                                        console.log("Something went wrong!", error);
                                });
                        }
                </script>
        </body>
</html>

manifest.json :

{
  "name": "Test App",
  "display": "standalone" //or fullscreen does not matter.
}

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240509/7b1a6b64/attachment-0001.htm>


More information about the webkit-unassigned mailing list