Description
Describe the bug
I'm using the library for 1 to 1 video calls on web. When the call starts on Safari it sends the camera feed via network but it is not displayed on the screen for the current user. It is always blank. I also tried the sample app and it behaves the same there.
The following error can be noticed on Safari's console: [Error] A MediaStreamTrack ended due to a capture failure
I tried to see how Safari behaves on other webrtc implementations. I tested with Google Meets and https://webrtc.github.io/samples/src/content/devices/input-output/ and for both of them it, after the camera and mic permissions are granted the browser stuck for 15-20 sec and then starts working.
I also check how camera works on Safari and it behaves exactly the same as GoogleMeets and webrtc test. I noticed that the way Flutter Camera gets the video from browser is different than how flutter-webrtc
library does it.
To Reproduce
- Run sample for web
- Open sample app with Safari on desktop
- Open GetUserMedia sample
- After a while error appears in console and no camera feed is displayed
Expected behavior
Camera feed should appear on screen
Platform information
Seems to happen only on Flutter WEB, using Safari on desktop.
-
Flutter version:
Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-arm) -
Plugin version:
0.9.0 -
OS:
Desktop -- MacOS -
OS version:
MacOS - 12.4 (21F79)