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

Failure to record high-frame rate video

    XMLWordPrintable

Details

    • Android

    Description

      I lightly modified the declarative-camera example (I've attached declarative-camera.qml, the only modified file) to select a Camera.cameraFormat such that cameraFormat.maxFrameRate == 60. In this mode, the application fails to record video. To reproduce, I ran the app on a Motorola Moto G Power (2021) Android phone, tapped "Switch to Video", then tapped "Record". The UI briefly flashes the usual "Stop" button, but this immediately changes back to the "Record" and "View" options, since the recording process stops due to errors.

      The Application Output tab contained the following output:

      E larative_camer: Not starting debugger since process cannot load the jdwp agent.
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      W System  : ClassLoader referenced unknown path:
      D Qt JAVA : Class org.qtproject.qt.android.multimedia.QtAudioDeviceManager does not implement setActivity method
      W linker  : Warning: "/data/app/~~VgUi7bY0JqP-7Ca0kM_BBg==/org.qtproject.example.declarative_camera-za5BZyOL5iiPlNpbk6Ugjw==/lib/arm64/libc++_shared.so" unused DT entry: unknown processor-specific (type 0x70000001 arg 0x0) (ignoring)
      I QtCore  : Start
      I Qt      : qt started
      I AdrenoGLES-0: QUALCOMM build                   : 704ecd9a2b, Ib3f3e69395
      I AdrenoGLES-0: Build Date                       : 12/29/20
      I AdrenoGLES-0: OpenGL ES Shader Compiler Version: EV031.32.02.06
      I AdrenoGLES-0: Local Branch                     :
      I AdrenoGLES-0: Remote Branch                    :
      I AdrenoGLES-0: Remote Branch                    :
      I AdrenoGLES-0: Reconstruct Branch               :
      I AdrenoGLES-0: Build Config                     : S P 10.0.7 AArch64
      I AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
      I AdrenoGLES-0: PFP: 0x016ee190, ME: 0x00000000
      I CameraManagerGlobal: Connecting to camera service
      D qml     : : 60 QSize(1920, 1080)
      D qml     : : State: MobilePortrait
      I MediaCodec: (0xb4000077c9443c20) init name(OMX.qcom.video.encoder.hevc)
      I OMXClient: IOmx service obtained
      I MediaCodec: (0xb4000077c9443c20) Component Allocated (OMX.qcom.video.encoder.hevc)
      I MediaCodec: (0xb4000077c9443c20) configure surface(0x0) crypto(0x0) flags(1)
      D MediaCodec: (0xb4000077c9443c20) configure format: AMessage(what = 0x00000000) = {
      D MediaCodec:       int32_t color-format = 21
      D MediaCodec:       int32_t i-frame-interval = 1
      D MediaCodec:       int32_t level = 8192
      D MediaCodec:       string mime = "video/hevc"
      D MediaCodec:       int32_t profile = 1
      D MediaCodec:       int32_t width = 1920
      D MediaCodec:       int32_t bitrate-mode = 2
      D MediaCodec:       int32_t bitrate = -1
      D MediaCodec:       int32_t frame-rate = 60
      D MediaCodec:       int32_t height = 1088
      {{D MediaCodec:     }}}
      D MediaCodec: flushMediametrics
      I ExtendedACodec: setupVideoEncoder()
      I ACodec  : [OMX.qcom.video.encoder.hevc] setupVideoEncoder mime(video/hevc) colorFormat(15)
      W OMXUtils: do not know color format 0x7fa30c04 = 2141391876
      W OMXUtils: do not know color format 0x7fa30c00 = 2141391872
      W OMXUtils: do not know color format 0x7f000789 = 2130708361
      I ACodec  : width height(1920x1088) stride(1920) sliceHeight(1088)
      E ACodec  : [OMX.qcom.video.encoder.hevc] failed to set input port definition parameters.
      E ExtendedACodec: [OMX.qcom.video.encoder.hevc] configureCodec returning error -12
      E ACodec  : signalError(omxError 0x80001001, internalError -12)
      E ACodec  : [OMX.qcom.video.encoder.hevc] configureCodec returning error -12
      E ACodec  : signalError(omxError 0x80001001, internalError -12)
      E MediaCodec: Codec reported err 0xfffffff4, actionCode 0, while in state 3
      D MediaCodec: flushMediametrics
      E MediaCodec: Codec reported err 0xfffffff4, actionCode 0, while in state 0
      E MediaCodec: configure failed with err 0xfffffff4, resetting...
      W ImageReader_JNI: Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers
      W ImageReader_JNI: Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers
      E QtCamera2: Image processing taking too long. Let's wait 0,5s more java.lang.IllegalStateException: maxImages (10) has already been acquired, call #close before acquiring more.
      I MediaCodec: (0xb4000077c9443c20) release
      I MediaCodec: (0xb4000077c9443c20) init name(OMX.qcom.video.encoder.hevc)
      I OMXClient: IOmx service obtained
      I MediaCodec: (0xb4000077c9443c20) Component Allocated (OMX.qcom.video.encoder.hevc)
      I MediaCodec: (0xb4000077c9443c20) stop
      W libdeclarative-camera_arm64-v8a.so: Couldn't open codec for writing "Generic error in an external library"
      W libdeclarative-camera_arm64-v8a.so: codec context is not initialized!
      W libdeclarative-camera_arm64-v8a.so: codec context is not initialized!
      I chatty  : uid=10435(org.qtproject.example.declarative_camera) identical 8 lines
      W libdeclarative-camera_arm64-v8a.so: codec context is not initialized!
      D MediaCodec: flushMediametrics
      D MediaCodec: flushMediametrics
      I BpBinder: onLastStrongRef automatically unlinking death recipients: android.media.IResourceManagerService

      Attachments

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

        Activity

          People

            bartlomiejmoskal Bartlomiej Moskal
            bjones Bryan Jones
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes