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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • 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

    Description

      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.

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes