Cannot play mono files


FMOD seems to fail when loading an OGG Vorbis file (44100 Hz, Mono, 32 bits).

Those OGG works:
44100 Hz, Stereo, 32 bits
44100 Hz, Mono, 24 bits

But not
44100 Hz, Mono, 32 bits

I’m using createSound(…)
Which returns a worng format.

Hi Cosmy,
The FMOD examples use mono .ogg files, so yes it does work (actually you said your mono ‘24bits’ ogg worked).

What confuses me is what you mean by 32bits and 24bits. Ogg does not store data in a 24 or 32bit format, it uses a compressed bitstream and decodes to floating point data.

Only PCM has ‘bitdepth’ like that, not ogg vorbis.

You are right, but I can’t understand why audio editors such as Audacity, Adobe Audition, FL Studio, etc… can open this file while FMOD library not.
I have the audio sample if you want to check.

Probably an old OGG format? or some extra checks that FMOD does while other editors not?

BASS audio library for example open it with no issues.

Note: If I import the file in those editors and re-export it, the file magically works with FMOD.

Edit: I have like 100 files that have the same issue and re-exporting them manually takes time.

FMOD opens every standard ogg that is produced with oggenc or oggdrop.

If you can link to one of the files I can see what the issue is. You could also probably determine the issue yourself by using fmodL.dll and looking at the log file.

Here what the logger says:

[ERR] CodecOggVorbis::openInternal : failed to open as ogg, format error.
[ERR] CodecOggVorbis::openInternal : OLD FLOOR0 TYPE OGG FILE. Please re-encode sound with a newer encoder.
ERR] CodecFSB5::readHeader : Header check failed. Not an FSB5
[ERR] CodecMOD::openInternal : ‘M.K.’ etc ID check failed [j?%T]
[ERR] CodecS3M::openInternal : ‘SCRM’ ID check failed [ÿÿÿÿ]

yeah I noticed this bug too, I had to convert every single file to the newer encode…pretty annoying.

To avoid fmod runtime having redundant code for old versions of ogg vorbis (and therefore bloating memory usage) we support the more current version of the format. The versions you’re talking about are many many years old though.