I ran into this problem recently when trying to add explicit support for libvorbisfile, and I’m curious if it’s a known issue and/or if it can be fixed. Using libfmodex.so.4.20.01, if libvorbisfile (and implicitly libogg and libvorbis) is loaded after FMOD Ex, then I invariable get a crash when trying to call libvorbisfile functions while FMOD Ex is not initialized. But if libvorbisfile, libogg, and libvorbis are loaded before FMOD Ex, they work fine.
As far as I can tell, the problem is that libfmodex.so.4.20.01 exports symbols that are identical to libvorbisfile, libogg, and libvorbis. Because of this, when FMOD Ex is loaded first, its symbols take precedence.. thus any calls to the Ogg libs later on are "hijacked" by FMOD Ex. Similarly, if the Ogg libs are loaded first, then calls to FMOD Ex’s ogg/vorbis symbols are "hijacked" by the real libs.
Since I need to be able to use libvorbisfile to load Vorbis files independently of FMOD, and potentially breaking FMOD’s support for Vorbis is no good either, I’m in a bit of a bind here. Any help is appreciated.
- KCat asked 10 years ago
[quote="brett":6mwj0znk]You could use fmod’s interface to load ogg vorbis files, it has a decoding interface (Sound::seekData/readData)[/quote:6mwj0znk]
Unfortunately I can’t depend on FMOD Ex where I need to use libvorbisfile. I’m basically trying to add multiple sound backends to a program.. all independent of each other. When one of the other backends are in use, they use libvorbisfile to load vorbis files.. but with FMOD Ex’s lib loaded, using those functions causes a crash.
- KCat answered 10 years ago
Please login first to submit.