Closed patrickjane closed 2 years ago
Hello @patrickjane
I have just merged #201 so i would suggest you pull the latest code and also add the following definitions to your cmake:
set(QZXING_USE_DECODER_QR_CODE "true")
Moreover, seeing the message QZXingFilterRunnable: Buffer is empty
i understant that the video filter is not receiving valid video frames. Could it be that you need to request a permission for the camera in Ubuntu Touch?
@ftylitak I have analyzed the issue further, see here and here.
However I am unable to get it to work with my limited OpenGL/video/image processing experience. The solution mentioned by dobey works, instead of using a video filter, it is possible to work with snapshot timers and manual image recognition (as done here).
I don't think its a camera permission issue.
I decided to continue working on this issue on the middleware-side of Ubuntu Touch, @patrickjane was correct in the assumption that GL needed to be used. The current state is here: https://gitlab.com/ubports/development/core/qtubuntu-camera/-/commit/4a551326f56e0b0d3debd3a1fe73d9c703dde42d
Now, I verified the image being mapped correctly by modifying QZXing to write a QImage right after memcpy'ing the contents into its own frame.
The remaining problem is the following output, with one application at least:
qml: This luminance source does not support rotation.
virtual uchar* AalGLTextureBuffer::map(QAbstractVideoBuffer::MapMode, int*, int*)
virtual void AalGLTextureBuffer::unmap()
Decoding phase 1: started
Decoding phase 1: failed: No code detected
Decoding phase 2, thorought scan: failed
Decoding phase 2, rotate: failed
Decoding failed: "This luminance source does not support rotation."
I made the app in question use QZXing 3.3, so I wonder what might be missing here.
Thanks to a community member I was pointed in the right direction, the same change as required by SailfishOS was needed.
Pull request available here: https://github.com/ftylitak/qzxing/pull/221 @ftylitak please consider taking a look at this
Hi,
I am currently porting my (now working) SFOS app to Ubuntu Touch, and thus I also had to include qzxing in my project. I did it via cmake, like so:
In QML I'm doing this:
However detecting QR codes does not work. Instead I get the logs flooded with the following, as soon as the camera is activated (no matter where it is pointed to):
How can I make this work? QT version should be 5.12.