|
|
@ -119,10 +119,11 @@ export default class QrScanner extends Component { |
|
|
|
// The `decodeFromInputVideoDevice` call prompts the browser to show
|
|
|
|
// The `decodeFromInputVideoDevice` call prompts the browser to show
|
|
|
|
// the user the camera permission request. We must then call it again
|
|
|
|
// the user the camera permission request. We must then call it again
|
|
|
|
// once we receive permission so that the video displays.
|
|
|
|
// once we receive permission so that the video displays.
|
|
|
|
// Removing this teardown will create 2 video streams in Firefox, one
|
|
|
|
// It's important to prevent this codeReader from being created twice;
|
|
|
|
// of which the user will not be able to remove without refreshing the page.
|
|
|
|
// Firefox otherwise starts 2 video streams, one of which cannot be stopped
|
|
|
|
this.teardownCodeReader(); |
|
|
|
if(!this.codeReader) { |
|
|
|
this.codeReader = new BrowserQRCodeReader() |
|
|
|
this.codeReader = new BrowserQRCodeReader() |
|
|
|
|
|
|
|
} |
|
|
|
try { |
|
|
|
try { |
|
|
|
await this.codeReader.getVideoInputDevices() |
|
|
|
await this.codeReader.getVideoInputDevices() |
|
|
|
this.checkPermissions(); |
|
|
|
this.checkPermissions(); |
|
|
|