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

Crash when reading video frame bits on Android

    XMLWordPrintable

Details

    • Android

    Description

      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.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes