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

Video element only shows broken colors when looping video after the first turn

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Not Evaluated Not Evaluated
    • None
    • 5.12.4
    • Multimedia
    • None
    • Linux on x86 board, intel graphics, kernel 4.14.39, gstreamer 1.16.0, eglfs
    • Linux/Other display system

      1. The test video is the mp4 one from http://camendesign.com/code/video_for_everybody/test.html

       

      When I start the application the video shows up fine, console output is like this:

      qt.multimedia.video: source is QDeclarativeAudio(0x1ac6a60)
      qt.multimedia.video: media object is QMediaPlayer(0x1b62d30)
      qt.multimedia.video: found videonode plugin "egl" 0x1df58f0
      Warning: Setting a new default format with a different version or profile after the global shared context is created may cause issues with context sharing.
      qt.qpa.eglfs.kms: Creating gbm_surface for screen HDMI1
      qt.qpa.eglfs.kms: Got native format 34325258 from eglGetConfigAttrib() with return code true
      qt.quick.focus: QQuickWindowPrivate::setFocusInScope():
      qt.quick.focus:     scope: QObject(0x0)
      qt.quick.focus:     item: QQuickRootItem(0x1e7c9d0)
      qt.quick.focus:     activeFocusItem: QObject(0x0)
      qt.accessibility.cache: insert - id: 2147483648  iface: QAccessibleInterface(0x1e23de0 name="qmlscene" role=Window obj=QQuickView(0x1e1d950)rect=QRect(0,0 1920x1200))
      QSGContext::initialize: depth buffer support missing, expect rendering errors
      QSGContext::initialize: stencil buffer support missing, expect rendering errors
      qt.multimedia.video: updatePaintNode: no frames yet
      qt.qpa.eglfs.kms: Adding FB, size 1920x1200, DRM format 0x34325258
      qt.qpa.eglfs.kms: Mode already set, skipping modesetting for screen HDMI1
      qt.multimedia.video: Video surface format: QVideoSurfaceFormat(Format_YUV420P, QSize(640, 360), viewport=QRect(0,0 640x360), pixelAspectRatio=QSize(1, 1), handleType=NoHandle, yCbCrColorSpace=YCbCr_Undefined)
          handleType = QVariant(QAbstractVideoBuffer::HandleType, )
          pixelFormat = QVariant(QVideoFrame::PixelFormat, )
          frameSize = QVariant(QSize, QSize(640, 360))
          frameWidth = QVariant(int, 640)
          viewport = QVariant(QRect, QRect(0,0 640x360))
          scanLineDirection = QVariant(QVideoSurfaceFormat::Direction, )
          frameRate = QVariant(double, 23.976)
          pixelAspectRatio = QVariant(QSize, QSize(1, 1))
          sizeHint = QVariant(QSize, QSize(640, 360))
          yCbCrColorSpace = QVariant(QVideoSurfaceFormat::YCbCrColorSpace, )
          mirrored = QVariant(bool, false) all supported formats: (Format_YUV420P, Format_YV12, Format_NV12, Format_NV21, Format_UYVY, Format_YUYV, Format_RGB32, Format_ARGB32, Format_BGR32, Format_BGRA32, Format_RGB565)
      qt.multimedia.video: updatePaintNode: Video node created. Handle type: NoHandle  Supported formats for the handle by this node: (Format_YUV420P, Format_YV12, Format_NV12, Format_NV21, Format_UYVY, Format_YUYV)
      qt.opengl.diskcache: OpenGL ES v3 context
      qt.opengl.diskcache: Supported binary format count = 1
      qt.opengl.diskcache: Shader cache supported = 1
      qt.opengl.diskcache: Cache location '/home/liftinfo/.cache/QtProject/QtQmlViewer/qtshadercache/' writable = 0
      qt.opengl.diskcache: program with 2 shaders, cache key 52b359bb0179cbe1752270f6061412235030313f
      qt.opengl.diskcache: Program binary not in cache, compiling
      qt.qpa.eglfs.kms: Adding FB, size 1920x1200, DRM format 0x34325258
      qt.qpa.eglfs.kms: Adding FB, size 1920x1200, DRM format 0x34325258
      

      When the video has finished the first time I only see some random colors on the screen, looking maybe like one pixel has been scaled to the whole viewport, console output are these lines:

      qt.multimedia.video: updatePaintNode: deleting old video node because frame format changed
      qt.multimedia.video: updatePaintNode: no frames yet
      qt.multimedia.video: updatePaintNode: Video node created. Handle type: NoHandle  Supported formats for the handle by this node: (Format_YUV420P, Format_YV12, Format_NV12, Format_NV21, Format_UYVY, Format_YUYV)
      

      They repeat every time the video is finished. This does not depend on the video, it happens with many.

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

            valentyn.doroshchuk Valentyn Doroshchuk
            rebemlix Rolf Eike Beer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes