Please follow the steps below and check the boxes with [x] once you did the step.
Please provide information about your system and the version of Clementine used.
Clementine keeps randomly corrupting my Ogg Vorbis audio files. I haven't been able to pin down a pattern for it yet, but I'll be playing a playlist and suddenly I'll get "unable to decode file". I have found that the files in question play fine on other music players before this happens, but are apparently unrecognized files afterwards. It's happened with both the latest git copy and the released 1.3.1 version, in both Qt4 and Qt5 versions. It also, oddly enough, appears to happen in Amarok 2, for what it's worth.
I can confirm this behavior with Kubuntu 17.04 and Clementine 1.3.1. Any and all of the Ogg Vorbis files in my library become randomly corrupted when Clementine plays them. Usually on the 2nd or 3rd play attempt, they no longer play, and Clementine displays a dialog saying "Could not decode stream." Once the files have been corrupted in this way, they no longer play in any other music players. I have attached one such corrupted file, along with a copy made before it was corrupted, for comparison purposes
That sounds bad... (especially since I'm using clementine for my music). So, I just removed write permissions for my own user on all music files. Did you already try that? Will clementine complain or crash if you do that? The files shouldn't be destroyed anymore, though.
@Pointedstick Did you upload the original file as the corrupted one? Both play fine on Clementine, and also in Dolphin's audio preview. cmp shows no differences between files, and ogginfo reports no corruption.
I'm on Fedora 27 Beta, by the way. I would have noticed that, since my library is huge and mostly in Ogg Vorbis.
Anyway, looking for another music player right now. Just in case.
@Enthymem sorry, I must have uploaded two copies of the un-broken version. I just reproduced the issue again, and here are fresh files: files.zipI can confirm that one of them got broken after playing it in Clementine; it was fine before. The modification time says it was right now.
For the good one, ogginfo says the following:
$ ogginfo '/home/nate/Brown Bird - Axis Mundi - 02 Adolescence - original.ogg'
Processing file "/home/nate/Brown Bird - Axis Mundi - 02 Adolescence - original.ogg"...
New logical stream (#1, serial: 68caed21): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20140122 (Turpak盲r盲jiin)
Channels: 2
Rate: 44100
[etc]
For the broken one, ogginfo says the following:
$ ogginfo '/home/nate/Brown Bird - Axis Mundi - 02 Adolescence - broken.ogg'
Processing file "/home/nate/Brown Bird - Axis Mundi - 02 Adolescence - broken.ogg"...
New logical stream (#1, serial: 68caed21): type vorbis
WARNING: Could not decode Vorbis header packet 2 - invalid Vorbis stream (1)
WARNING: Could not decode Vorbis header packet 2 - invalid Vorbis stream (1)
WARNING: Could not decode Vorbis header packet 2 - invalid Vorbis stream (1)
[ad infinitum]
It's a real shame, since I love Clementine, but this kind of issue is, shall we say, somewhat confidence-reducing.
@OlafLostViking If I remove write permission from the ogg files that get corrupted, I'm no longer able to reproduce the issue. So that's a relief. If I launch Clementine from the console, nothing unusual is printed, FWIW.
I couldn't get Clementine to corrupt the file @Pointedstick provided by playing it a few times, but I could get it to corrupt immidiately by change the title tag. So posibbly bug in tagreader
Ok I think the bug is in taglib, I updated it to the latest version and recompiled Clementine. I couldn't reproduce the issue after that
I have the same issue. Clementine is randomly unable to play various files. Annoying.
@sylvainsab: "Randomly unable to _play_ various files" is not the same as "randomly _corrupting_ Ogg Vorbis files", which is what this issue is about. Are you sure that it's Clementine that has corrupted your files? If not, then perhaps you are actually experiencing GStreamer Bug 784530. (The GStreamer back end that Clementine uses recently stopped being able to play Vorbis files that have minor corruption. I've traced the problem to a commit that was made back in February so hopefully the developers are looking into it now.)
@logological well, apologies, but I stayed vague precisely because it seems to depend on the cases... For instance just now when I was testing to reply to this bug the file seems indeed to have been corrupted : VLC was unable to play it too. But it seems that in the past other files have been unplayable by Clementine, only to be playable again later. I'm not sure though and I'm not willing to delve deep into this, I was only replying to see if the bug was still being followed... thanks.
Is this bug going to be fixed ? Many, many of my tracks are made permanently unreadable after trying to open them with Clementine (all OGG files). That's very annoying ! It's a most urgent bug to fix, I think.
Also present in Amarok, which Clementine is forked from: https://bugs.kde.org/show_bug.cgi?id=397184
I believe this is a taglib bug that was fixed after version 1.11.1, see https://github.com/taglib/taglib/issues/864
It should be fixed if you compile Clementine using the builtin taglib, and not the systems taglib.
Distros tend to package Clementine without the builtin taglib, thats why most will probably still encounter this unless they compile Clementine themself.
@Pointedstick The issue report is actually Amarok 2.x, it don't share the same code at all, but Amarok also uses taglib.
@jonaski my Kubuntu 18.04 uses taglib 1.11.1
I confirm for taglib fix : it works for me. I noticed the problem was linked to tag modifications. Now I can tag my ogg vorbis files, Clementine can still play them
Where can you download the last taglib build from ? I can't seem to find anything more recent than the 1.11.1
There isn't a newer release of taglib yet so you need to compile from git, or patch your version.
Either use clementine after my commit from PR #6076 without disabling the builtin taglib. It has the current master of taglib.
Or use the latest taglib from github.
If you have this problem you should ask your distro to patch their taglib, or use clementine with commit 1b4955c or later using the builtin taglib
You can check if clementine was linked to taglib statically or not with:
ldd /usr/bin/clementine | grep libtag
Is there a way to fix the corruption in the affected Ogg Vorbis files? Clementine recently broke several albums of them in rapid succession and I'd rather not spend hours downloading, ripping, or converting their sources again.
Is there a way to fix the corruption in the affected Ogg Vorbis files?
@Zachs-Kappler : If you share some of your corrupted files, we can try solutions to recover them. Obviously, only metadata is altered. Music data integrity should be fine, so it should be possible to rebuilt metadata using common tools.
Much better : if you can send original file and matching altered file we can compare and find which metadata causes players (vlc, clementine, amarok and mixxx issues exist for the same bug in taglib) to fail playing, it would help.
Serge
Is there a way to fix the corruption in the affected Ogg Vorbis files? Clementine recently broke several albums of them in rapid succession and I'd rather not spend hours downloading, ripping, or converting their sources again.
@Zachs-Kappler, have you tried the fix I reported in the aforementioned GStreamer bug report? This worked for most files I have that got corrupted by EasyTAG; it might also work for ones that got corrupted by Clementine (if Clementine or its taglib dependency is indeed at fault). Another workaround might be for you to upgrade GStreamer鈥攁t some point someone introduced a commit that made it unable to play Vorbis files with minor corruption to the headers, though that commit has since been undone.
Trying ffmpeg -i input.ogg -acodec copy output.ogg resulted in a EOF error and no output file. Is this something FFMPEG 3.4.6-0ubuntu0.18.04.1 can't do? What version of FFMPEG did you have success with?
I am using ffmpeg 4.1.3 on openSUSE Tumbleweed. Can you post the exact output of the command?
daniel@XANAserve~/M/Uragirimonono Requiem (From Jo Jo's Bizarre Adventure - Golden Wind) [English Version] - Single>
ffmpeg -i "01. Uragirimonono Requiem (From Jo Jo's Bizarre Adventure - Golden Wind) [English Version].ogg" -acodec copy output.ogg
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
01. Uragirimonono Requiem (From Jo Jo's Bizarre Adventure - Golden Wind) [English Version].ogg: End of file
OK, it looks like your files have been corrupted in a different way than mine; ffmpeg can't even read them. :(
I apologize for the delay, but here is the corrupted and original Ogg Vorbis files since I didn't notice you wanted them to poke at and see what happened. Link
Most helpful comment
Ok I think the bug is in taglib, I updated it to the latest version and recompiled Clementine. I couldn't reproduce the issue after that