mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.43k stars 1.27k forks source link

ogg files become corrupted/unplayable #9680

Closed mixxxbot closed 2 years ago

mixxxbot commented 2 years ago

Reported by: igor47 Date: 2019-06-18T08:53:04Z Status: Fix Released Importance: Critical Launchpad Issue: lp1833190


i'm using a build of the master branch of mixxx built with faad=1 on ubuntu 19.04

here's an example of a before file: https://igor.moomers.org/public/linger-before.ogg here is the output of ogginfo on that file:

Processing file "the cranberries/the cranberries - linger.ogg"...

New logical stream (#⁠1, serial: 00006612): type vorbis Vorbis headers parsed for stream 1, information follows... Version: 0 Vendor: Xiph.Org libVorbis I 20050304 (1.1.1) Channels: 2 Rate: 44100

Nominal bitrate: 128.000000 kb/s Upper bitrate not set Lower bitrate not set User comments section follows... ACOUSTID_FINGERPRINT= ACOUSTID_ID= ALBUM=Everybody Else Is Doing It, So Why Can`t We ALBUM ARTIST=The Cranberries ALBUMARTIST=The Cranberries ALBUMARTIST_CREDIT= ALBUMARTISTSORT= MUSICBRAINZ_ALBUMCOMMENT= MUSICBRAINZ_ALBUMSTATUS= MUSICBRAINZ_ALBUMTYPE= ARTIST=The Cranberries ARTIST_CREDIT= ARTISTSORT= ASIN= BPM=0 CATALOGNUMBER= DESCRIPTION= COMMENT= COMPILATION=0 COMPOSER= RELEASECOUNTRY= DATE=0000 YEAR=0 DISC=0 DISCNUMBER=0 DISCSUBTITLE= DISCTOTAL=0 DISCC=0 TOTALDISCS=0 ENCODEDBY= ENCODER= GENRE= GROUPING= LABEL= PUBLISHER= LANGUAGE= LYRICS= MUSICBRAINZ_ALBUMARTISTID= MUSICBRAINZ_ALBUMID= MUSICBRAINZ_ARTISTID= MUSICBRAINZ_RELEASEGROUPID= MUSICBRAINZ_TRACKID= MEDIA= ORIGINALDATE=0000 SCRIPT= TITLE=Linger TRACK=0 TRACKNUMBER=0 TRACKTOTAL=0 TRACKC=0 TOTALTRACKS=0 Vorbis stream 1: Total data length: 4430771 bytes Playback length: 4m:34.809s Average bitrate: 128.984635 kb/s Logical stream 1 ended

i open mixxx -- note that "track metadata synchronization" is enabled. i then load the file onto a deck. i then press play. i let it play long enough that the played counter increments i then stop the track and exit mixxx

the resulting file is here: https://igor.moomers.org/public/linger-after.ogg the output of ogginfo on the updated file: WARNING: Could not decode Vorbis header packet 1 - invalid Vorbis stream (1) WARNING: Could not decode Vorbis header packet 1 - invalid Vorbis stream (1) Vorbis stream 1: Total data length: 0 bytes Playback length: 0m:00.000s Average bitrate: -nan kb/s Logical stream 1 ended

re-opening mixxx and trying to play the file again says "the file could not be loaded", with the following log output:
Warning [CachingReaderWorker 1]: SoundSourceOggVorbis - Failed to initialize decoder for "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg"
Warning [CachingReaderWorker 1]: SoundSourceProxy - Unable to open file "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg" with provider "Xiph.org OggVorbis" using mode Strict
Warning [CachingReaderWorker 1]: SoundSourceSndFile - Error opening libsndfile file: "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg" "Supported file format but file is malformed."
Warning [CachingReaderWorker 1]: SoundSourceProxy - Unable to open file "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg" with provider "libsndfile" using mode Strict
Warning [CachingReaderWorker 1]: SoundSourceOggVorbis - Failed to initialize decoder for "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg"
Warning [CachingReaderWorker 1]: SoundSourceProxy - Failed to open file "file:///home/igor47/Music/music/the cranberries/the cranberries - linger.ogg" with provider "Xiph.org OggVorbis"
Warning [CachingReaderWorker 1]: CachingReaderWorker - Failed to open file: "/home/igor47/Music/music/the cranberries/the cranberries - linger.ogg"

this doesn't seem to happen with all ogg files, but a good number of them.

as a workaround, disabling metadata synchronization works well.

i'm glad i had backups of my ogg files, i haven't found a way to fix them once they're corrupted.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2019-06-18T10:18:07Z


This is supposed to be caused by a severe bug in TagLib 1.11.1 and will affect all platforms:

https://github.com/taglib/taglib/issues/864

Unfortunately TagLib haven't released a bug fix version yet.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2019-06-18T10:23:25Z


Our only option to prevent any further damage is to disable metadata export for OGG files until fixed versions are available for ALL platforms!

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2019-06-18T22:10:48Z


https://github.com/mixxxdj/mixxx/pull/2180

mixxxbot commented 2 years ago

Issue closed with status Fix Released.