Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-69333

Crash when reading video frame bits on Android

XMLWordPrintable

    • Android

      I'm using a "wrapper" QAbstractVideoSurface to intercept video frames between a QML Camera and VideoOutput items.

      When I try to map() the QVideoFrame, I get the following error:

      checkAndUpdateEglState: invalid current EGLDisplay

      This error bubbles up as a Java exception which is not handled, resulting in a JNI error later on:

      JNI DETECTED ERROR IN APPLICATION: JNI NewFloatArray called with pending exception 'java.lang.IllegalStateException' thrown in unknown throw location
      F/art     (21903): sart/runtime/check_jni.cc:65]     in call to NewFloatArray

       

      The problem is caused by the fact that AndroidTextureVideoBuffer::map() results in EGL calls on a thread without an active EGL context.

       

      I've tried using QAbstractVideoFilter instead of this stacking approach, but the results are the same.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            valentyn.doroshchuk Valentyn Doroshchuk
            anszom Andrzej Szombierski
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes