zxing-js / browser

ZXing for JS's browser layer with decoding implementations for browser.
MIT License
213 stars 43 forks source link

RangeError: Length out of range of buffer #96

Open Helene-Ocode opened 2 years ago

Helene-Ocode commented 2 years ago

I'm using BrowserQRCodeReader and i try to scan a QrCode with just a url. I have this message when i'm scanning on iPhone. It's okay on Android.

Image from iOS

Here my code : ` const initScanner = () => { const codeReader = new BrowserQRCodeReader()

    BrowserCodeReader.listVideoInputDevices().then((devices) => {
        const selectedDeviceId = devices[devices.length - 1].deviceId // last one is usually the rear camera

        codeReader
            .decodeFromVideoDevice(
                selectedDeviceId,
                previewAreaRef.current,
                (result, error, controls) => {

                    if (result) {
                        const text = result.getText()

                        onFound && onFound(text)
                        controls.stop()
                        return
                    }
                    if (!previewAreaRef.current) {
                        controls.stop()
                        return
                    }

                    if (error) {

                        if (error instanceof RangeError) {
                            controls.stop()
                            alert("error", t("scanner.scanError", { ns: "factory" }))
                            refreshProcess(START_CREATION)
                            return
                        }
                    }
                }
            )
            .catch((e) => {
                alert("error", t("scanner.scanError", { ns: "factory" }))
            })
    })
}`

Do you have any idea where the problem could come from?