From 17ae96be9871f51eef33f3be62de86ae8fe54772 Mon Sep 17 00:00:00 2001
From: Tamara Steinwender <tamara.steinwender@tugraz.at>
Date: Tue, 3 Nov 2020 15:13:03 +0100
Subject: [PATCH] Try a fix for IOS QR code reader problem

---
 packages/qr-code-scanner/src/qr-code-scanner.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/packages/qr-code-scanner/src/qr-code-scanner.js b/packages/qr-code-scanner/src/qr-code-scanner.js
index 42b3674c..36282770 100644
--- a/packages/qr-code-scanner/src/qr-code-scanner.js
+++ b/packages/qr-code-scanner/src/qr-code-scanner.js
@@ -161,6 +161,8 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
         this._outputData = null;
         this._videoRunning = false;
         this._lock = new Mutex();
+
+        this.videoReady = false;
     }
 
     static get scopedElements() {
@@ -261,10 +263,11 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
         let detectorRunning = false;
 
         const tick = () => {
+            console.log("---", this.videoReady);
             this._requestID = null;
-            if (video.readyState === video.HAVE_ENOUGH_DATA) {
+            if (video.readyState === video.HAVE_ENOUGH_DATA || this.videoReady) {
                 this._loading = false;
-
+                this.videoReady = true;
                 // draw into a temporary canvas first
                 canvasElement.height = video.videoHeight;
                 canvasElement.width = video.videoWidth;
@@ -404,6 +407,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
             this._askPermission = false;
             this._videoRunning = false;
             this._loading = false;
+            this.videoReady = false;
 
             this._loadingMessage = '';
         } finally {
-- 
GitLab