Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. VideoOutput memory leak
Forum Updated to NodeBB v4.3 + New Features

VideoOutput memory leak

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
1 Posts 1 Posters 333 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    Uniquename
    wrote on last edited by
    #1

    Hi,

    The Android project I'm working on has been recently upgraded to QT6.4.3, also changing the build system to CMake. I'm experiencing a memory leak occurring after starting the camera, when the output is used by the VideoOutput QML element.
    When using a simple setup with CaptureSession, I'm getting the following warnings after calling camera.start():

    I Gralloc4: mapper 4.x is not supported
    W Gralloc3: mapper 3.x is not supported
    [SurfaceTexture-33-26350-1] bindTextureImage: clearing GL error: 0x500
    [SurfaceTexture-33-26350-1] bindTextureImage: clearing GL error: 0x500
    

    The following errors appear when unloading the QML page:

    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
    

    The QML code I'm using to reproduce this:

    import QtQuick
    import QtMultimedia
    import QtQuick.Controls 2.5
    Item {
        width: 640
        height: 360
    
        CaptureSession {
            imageCapture: ImageCapture{
                id: cap
            }
    
            camera: Camera {
                id: camera
    
                focusMode: Camera.FocusModeAutoNear
                customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner
            }
            videoOutput: videoOutput
        }
    
        VideoOutput {
            id: videoOutput
            anchors.fill: parent
        }
    
        Button{
            onClicked:{
                if(cap.readyForCapture){
                    cap.capture()
                }
            }
        }
    
        Image{
            id: imgPreview
            source: cap.preview
        }
    
        Component.onCompleted: {
            camera.start()
        }
    }
    
    
    1 Reply Last reply
    1

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved