Is there something that doesn't work right in the latest GZDoom? Post about it here.
Moderator:GZDoom Developers
Forum rules Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
Enjay wrote: ↑Fri Oct 18, 2024 4:03 am
Comment from the issue thread that I raised in GitHub:
Seems it might be due to mpeg_decoder_init explicitly setting the MPG123_NO_FRANKENSTEIN flag, making libmpg123 more strict with the bytestream and causing it to reject the files since they start with 0 data and junk. libmpg123 is otherwise capable of playing the files, but not through libsndfile, and that flag stands out as a possible reason.
That's basically what Chris said above; which makes sense when you know that kcat on Github is Chris on here.
As a small update, it doesn't seem as though MPG123_NO_FRANKENSTEIN is the cause of the failure with libsndfile, though the disparity between older and newer GZDoom versions is likely as said. Older releases have a ZMusic build that uses libmpg123 directly itself, which works (and is why it works for me with libmpg123 available), while newer releases rely on libsndfile alone which is less forgiving with poorly constructed mp3s. Though I am curious, at least for me libsndfile relies on libmpg123 as a shared lib. Does the Windows libsndfile build static link libmpg123 to avoid the extra DLL?