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

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1: Critical 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)

      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
      

        For Gerrit Dashboard: QTBUG-117919
        # Subject Branch Project Status CR V

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes