Page MenuHomeSolus

taglib potential ogg file corruption
Closed, ResolvedPublic

Description

First I should point out that I have not been able to reproduce this issue, but it appears to be a potential issue we don't seem to have patched in taglib. So figured I should mention it.

I noticed that libtag* did not appear in abi_used_libs for strawberry, which lead to me finding this:
https://github.com/strawberrymusicplayer/strawberry/commit/904097b7b1518b98350124ee0e1b7e9e6fd980fe#diff-af3b638bc2a3e6c650974192a53c7291R432

Patch taglib supposedly needs:
https://github.com/taglib/taglib/commit/9336c82d.patch

Strawberry does not currently have -DUSE_SYSTEM_TAGLIB=ON set so is not affected, but other applications might be. Some people have claimed simply playing files caused the corruption but that could be due to automatically fetching metadata not the actual playing.

kid3 seems to be using system taglib so I tried to reproduce the problem by clearing all metadata and setting title metadata using this script:

i=0
while [ $i -le  5000 ]
do
	echo "Editing metadata  $i of 5000"
	kid3-cli -c remove  "test.ogg"
	kid3-cli -c "set title 'TEST$i'" "test.ogg"
	i=$[$i+1]
done

But I still can not reproduce it.

I thought this might be global maintainer territory considering its scope so I haven't submitted a patch / rebuilds. ¯\_(ツ)_/¯

Reverse Dependencies: easytag kodi kio-extras ardour gst-plugins-good noise guayadeque cantata taglib-devel krename taglib-dbginfo gstreamer-1.0-plugins-good k3b vlc kfilemetadata tellico mixxx ncmpcpp tomahawk kid3-core

Event Timeline

Harvey created this task.Jul 12 2020, 3:11 PM
Harvey edited projects, added Software; removed Lacks Project.Jul 12 2020, 3:20 PM
Harvey added a comment.EditedJul 12 2020, 6:04 PM

I patched taglib, and successfully built these packages against it (No testing of built packages was performed):

gstreamer-1.0-plugins-good
kio-extras
ardour
noise
cantata
tomahawk
krename
mixxx
k3b
vlc
kfilemetadata
tellico
easytag
ncmpcpp
kodi
kid3
strawberry (w/ -DUSE_SYSTEM_TAGLIB=ON)

The follow packages fail to build against local OR unstable:
gst-plugins-good
guayadeque

I'll try look into why tomorrow. Gstreamer / plugins may just need to be updated, lots of deprecated usage warnings prior to fail.

If you're patching, then you're likely not doing any ABI changes, so rebuilds are not necessary.

*facepalm* yeah no abi changes outside of when I enable using system taglib for strawberry which can wait till next strawberry update. I'll submit patched taglib.