MakeVideoElementFromCamera function
Implementation
Future<HTML.VideoElement?> MakeVideoElementFromCamera() {
LogWarn("VideoElement/Camera requested");
Completer<HTML.VideoElement?> c = Completer();
// TODO: come up with better error handling signaling
HTML.window.navigator.getUserMedia(video: true).then((HTML.MediaStream stream) {
LogWarn("VideoElement construction");
HTML.VideoElement video = HTML.VideoElement()..autoplay = true;
video.onPlaying.first.then((_) => c.complete(video));
video.srcObject = stream;
}).catchError((Object error) {
LogError("Camera open error ${error}");
c.complete(null);
});
return c.future;
}