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

Problems with QMediaPlayer & QVideoWidget

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 5.7.0
    • Multimedia
    • None
    • Windows 10 64-bit, Visual Studio 2015, Qt version 5.7, program is 32-bit.

    Description

      While debugging my program using DevPartner Studio Professional (aka. Bounds Checker), it has signaled a couple of problems.

      Problem 1 (Windows implementation) : The function EvrVideoWindowControl::repaint() does
      ::DeleteObject(pen);
      while the pen is still selected in the dc.

      Problem 2 : The function "inline ~QVarLengthArray()" does free(ptr), but ptr contains 0xdddddddd. Somehow this passes without a crash in the debug version.

      The call stack is :
      QVarLengthArray<IBaseFilter *,16>::~QVarLengthArray<IBaseFilter *,16>() Line 90
      DirectShowPlayerService::doRender(locker=0x21effe04) Line 557
      DirectShowPlayerService::run() Line 1446
      DirectShowPlayerServiceThread::run() Line 105
      QThreadPrivate::start(arg=0x0893b9b0) Line 393

      Problem 3 (not related to DevPartner) : QVideoWidget does not repaint.
      The video is displayed while doing play() + pause() or setPosition(), but disappears again immediately when :
      a. changing the focus
      b. doing QVideoWidget::hide() and then show()
      Using QVideoWidget::repaint() during a paint-event does not help.
      How to reliably make QVideoWidget display its last frame and then keep on displaying it?

      Attachments

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

        Activity

          People

            ylopes Yoann Lopes
            harry_m Harry
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes