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

REG: Qt6.7 QML MediaPlayer duration property doesn't update declaratively

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.5.4, 6.6.1, 6.7
    • 6.7.0
    • Multimedia
    • None
    • Android, Linux/X11, Windows
    • 9c445620d (dev), 99877cb35 (6.6), 60018f7eb (tqtc/lts-6.5)

    Description

      I noticed that although mediaPlayer.duration can be queried procedurally through a timer, it doesn't update its value declaratively. This is a new regression seen in the Qt6.7 "dev" release "6.7.0-0-20231003103" and didn't exist in previous "dev" releaese from QtInstaller "6.7.0-0-202308170512" nor any other version of Qt6.2-6.6.

      This issue can be seen in the mediaplayer example (Examples/Qt-6.7.0/multimedia/video/mediaplayer) by making a small modifiation to a single file that illustrates that declarative update isn't happening  for the latest Qt6.7.

      In Examples/Qt-6.7.0/multimedia/video/mediaplayer/main.qml, after the declaration of mediaPlayer, add the following:

          property alias dur: mediaPlayer.duration;
          onDurChanged: console.log("==============>>>>>>>> Duration=",
                                    (dur/1000), " s");
      

      Running on 6.6, after selecting a media file, the output looks like:

      19:34:12: Starting /opt/QtCo/Examples/Qt-6.7.0/multimedia/video/build-mediaplayer-Desktop_Qt_6_6_0_GCC_64bit-Release/mediaplayer...
      qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load OpenSsl library
      qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load VAAPI library
      [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55693f84db80] stream 0, timescale not set
      qml: ==================================>>>>>>>> Duration= 7201.002  s
      [mjpeg_cuvid @ 0x55693fc66b00] Invalid pkt_timebase, passing timestamps as-is.
      [mjpeg_cuvid @ 0x55693fc66b00] ignoring invalid SAR: 0/0
      19:35:06: /opt/QtCo/Examples/Qt-6.7.0/multimedia/video/build-mediaplayer-Desktop_Qt_6_6_0_GCC_64bit-Release/mediaplayer exited with code 0
      

      On 6.7 the declarative change to duration never triggers any output, even though the "progress" bar is updated because mediaPlayer.duration can be queried procedurally to get the duration, but the declarative update of duration never occurs.

      19:11:23: Starting /opt/QtCo/Examples/Qt-6.7.0/multimedia/video/build-mediaplayer-Desktop_Qt_6_7_0_GCC_64bit-Release/mediaplayer...
      qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load OpenSsl library
      qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load VAAPI library
      [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55f23b65ac40] stream 0, timescale not set
      [mjpeg_cuvid @ 0x55f23be53800] Invalid pkt_timebase, passing timestamps as-is.
      [mjpeg_cuvid @ 0x55f23be53800] ignoring invalid SAR: 0/0
      19:38:41: /opt/QtCo/Examples/Qt-6.7.0/multimedia/video/build-mediaplayer-Desktop_Qt_6_7_0_GCC_64bit-Release/mediaplayer exited with code 0
      

      Attachments

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

        Activity

          People

            artemiy Artem Dyomin
            nielsmayer Niels Mayer
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes