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

Details

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

    Description

      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.

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes