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

[REG 6.8.2 -> 6.8.3] Hang when MP3 contains an mjpeg stream

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1: Critical P1: Critical
    • 6.8.4, 6.9.1, 6.10.0 FF
    • 6.8.3
    • Multimedia
    • None
    • Mac M4 MacBook Air, running Sequoia 15.3.2
      QtCreator 16.0.0
      Qt 6.8.2 and 6.8.3 for MacOS

      I have a commercial MP3 file that actually contains 2 streams (this is printed on the console at load time):

      Input #0, mp3, from '/Users/mpogue/POP - Appalachian Joy.mp3':
        Metadata:
          encoder         : Lavf58.20.100
          title           : Appalachian Joy
          artist          : Ricky Skaggs
          album           : Brand New Strings
          genre           : Country
          track           : 8/13
          disc            : 1/1
          album_artist    : Ricky Skaggs
          date            : 2004
        Duration: 00:03:22.74, start: 0.025056, bitrate: 256 kb/s
        Stream #0:0: Audio: mp3 (mp3float), 44100 Hz, stereo, fltp, 256 kb/s
            Metadata:
              encoder         : Lavc58.35
        Stream #0:1: Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 174x174 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
            Metadata:
              comment         : Cover (front)

      When I try to load this file in my 6.8.3-based application ("SquareDesk"), it hangs and refuses to load.  However, when I try to load this file in my 6.8.2-based version of the same application, it loads and plays correctly.

      The same behavior can be replicated with the Qt example "Multimedia Player" AKA "MediaPlayerApp".  When MediaPlayerApp is compiled under 6.8.2, the MP3 file loads and plays.  When compiled under 6.8.3, it hangs and will not play.

      To verify that the problem is due to the mjpeg stream, I removed the mjpeg stream using the following FFmpeg 7.1 command:

      ffmpeg -i "POP - Appalachian Joy.mp3" -map 0 -map -0:v -c copy "App.mp3"
       
      

      I verified that the mjpeg video stream was deleted in "App.mp3" using ffprobe.

      I then tested "App.mp3" in both my app (SquareDesk) and the MediaPlayerApp example, compiled with 6.8.2 and 6.8.3 .  App.mp3 is playable in both my app and in Multimedia Player, AND compiled with either Qt 6.8.2 and Qt 6.8.3 .

      Based on this, my conclusion is that the embedded mjpeg stream (looks like it's an album cover image) is indeed the cause of the hang, and that the hang only occurs with Qt 6.8.3 and not in Qt 6.8.2 (as demonstrated in two different apps, one of which is a Qt sample app).

      This is a commercial MP3 file, so I don't want to post it here publicly, but I do want to get this bug fixed, since it probably affects a number of commercial MP3 files.  So, let me know how I can help.

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

            lars.sutterud Lars Sutterud
            mpogue mpogue
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes