Hide Forgot
Created attachment 1725521 [details] MPV error output Description of problem: After editing ogg files with easytag, the files are malformed, and will no longer play in MPV. Version-Release number of selected component (if applicable): easytag-2.4.3-11.fc33.x86_64 How reproducible: always Steps to Reproduce: 1. Try to play an ogg file in a player; I used MPV and it worked 2. Edit the tags of that ogg file with Easytag 3. Try to play the file again after saving it in Easytag Actual results: The file fails to play. Expected results: The file plays normally. Additional info: MPV prints some error messages when trying to play the file post-Easytag. They're in the attachment mpv-ogg.txt. This seems to be a somewhat common issue and has been for some years, as suggested by https://gitlab.gnome.org/GNOME/easytag/-/issues/8 and the fact that OpenSUSE specifically patches their distribution of Easytag to fix the issue: https://build.opensuse.org/request/show/596947 Heaven only knows why the Gnome people have decided not to patch the issue upstream, but in the meantime it might be best if a downstream patch is applied in Fedora, like OpenSUSE have done.
Any thoughts on whether something similar as what OpenSUSE does could be done in Fedora?
Hello? Is anybody still maintaining this package?
Currently waiting on the upstream merge request to be approved.
> Currently waiting on the upstream merge request to be approved. It can take some time (the issue is known for 2 years for now). Meanwhile it's better to apply the patch or disable Ogg support, because currently EasyTag is not Ogg tagger but Ogg destroyer.
The way I stumbled upon this bug was that I, being unaware of this long-standing issue with easytag, used it to tag some ogg files for which I had no backups, thus destroying them. I would hate for that to happen to someone else, and thus I think it would be good to apply a patch downstream, or disable ogg support altogether, while waiting for upstream to fix the issue on their end. That is, unless there is a Fedora policy forbidding that. The way things are going, it looks like easytag may be almost unmaintained, with the bug having been open for several years, and the merge request [1] sitting untouched for several months, with who knows how many more months until they manage to actually merge the fix. That is a lot of time for people to accidentally destroy their ogg files. [1] https://gitlab.gnome.org/GNOME/easytag/-/merge_requests/8
I can confirm that this bug has existed for quite a while. However it seems that it mostly appears after a file has been edited and saved using EasyTag at least two times. First time may succeed without noticeable problems. Steps to reproduce: ====== Step 0 0a) Create a reference file: Use Audacity to generate a sine tone, e.g. 3 seconds of 440 Hz. Export as ogg, sine.ogg. You may want to create a read only backup copy of the file as a base line and source for further testing. 0b) Check the ogg file using ogginfo: #ogginfo sine.ogg output: ... TITLE=440 Hz sine ... 0c) Play the ogg file using ogg123 #ogg123 sine.ogg No audible errors. ====== Step 1 1a) Edit the ogg file using EasyTAG, e.g. add an artist and date. Save the file. 1b) Check the ogg file again using ogginfo: #ogginfo sine.ogg output: ... TITLE=440 Hz sine ARTIST=audacity DATE=2017 ... 1c) Play the off file using ogg123 #ogg123 sine.ogg No audible errors. ====== Step 2 2a) Re-edit the ogg file using EasyTAG, e.g. add a track number. Save the file. 2b) Check the ogg file using ogginfo: #ogginfo sine.ogg output: ... TITLE=440 Hz sine ARTIST=audacity DATE=2017 TRACKNUMBER=01 TRACKTOTAL=01 Negative or zero granulepos (-335) on Vorbis stream outside of headers. This file was created by a buggy encoder ... 2c) Play the ogg file using ogg123 #ogg123 sine.ogg Error(s) should be audible. 2d) Open file in Audacity. Changes to the sine waveform are visible upon zoom in.
Still reproducible on easytag-2.4.3-12.fc34.x86_64
This message is a reminder that Fedora 33 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '33'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 33 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
This serious data-damaging bug has been open for far too long. Whilst it's clear that this should be fixed upstream (and upstream seems largely dead), what is standing in the way of temporarily applying the known-good patch which OpenSuSE has been carrying for over 3 years? Here's the pull request: https://src.fedoraproject.org/rpms/easytag/pull-request/1 If none of the maintainers is willing to apply this downstream patch, I offer to do the work in Fedora if granted access to do it. (username: timj) For the record, I took the patch from https://build.opensuse.org/package/view_file/GNOME:Apps/easytag/easytag-revert-open-handle-ogg.patch and applied it to the sources of easytag-2.4.3-12.fc34. Rebuilt cleanly and appears to solve the issue: # with 2.4.3-12.fc34 ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 sine.wav oggenc sine.wav [...] oggz-validate sine.ogg # ok easytag .& [edit track number in sine.ogg to "1", save] oggz-validate sine.ogg # ok [edit track number in sine.ogg to "2", save] oggz-validate sine.ogg -00:00:00.007: serialno 1130217793: Packet out of order (previous 00:00:00.033) -00:00:00.007: serialno 1130217793: Granulepos decreasing within track # patched with easytag-revert-open-handle-ogg.patch -p1 -R ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 sine.wav oggenc sine.wav [...] oggz-validate sine.ogg # ok easytag .& [edit track number in sine.ogg to "1", save] oggz-validate sine.ogg # ok [edit track number in sine.ogg to "2", save] oggz-validate sine.ogg #ok After the patch, I am unable to trigger the creation of a corrupt file despite edited various tags, adding/removing cover art etc.
This message is a reminder that Fedora Linux 34 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '34'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 34 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.
The problem still present in easytag-2.4.3-14.fc36.x86_64.
I discovered this problem when some of my OGG files wouldn't get detected by plex on Fedora 36. At first I thought it was a problem with ffmpeg because gstreamer would still play them. Then I looked deeper to try and debug gstreamer and noticed the OGG headers had been repeated. Since I had recently ripped them with asunder I repeated the process and noticed the freshly ripped files didn't have the extra headers but only got them after I adjusted the tags using easytag. I pulled from the repo created here a week ago: https://github.com/maazl/easytag and then updated its configure script and the makefile.am/in files so that the appdata check passed. I also renamed some of the icon/appdata info but I wasn't 100% successful since the app icon doesn't show up but I did end up successfully making an rpm for fedora 36 where this issue no longer occurs. I think at a minimum the opensuse patch above should be considered or at least disable the use of easytag for OGG files since its corrupting them.