In FMOD 5 v1.10.02, when I use createSound on the following file
I get this in the log :
[LOG] SystemI::createSoundInternal : filename = F:\stroke_grunt_20.ogg : mode 00010008 [LOG] SystemI::createSoundInternal : Format has 0 subsounds. [LOG] SystemI::createSoundInternal : Create as FMOD_CREATESAMPLE [LOG] SystemI::createSoundInternal : creating subsound 0/0 [LOG] SystemI::createSample : mode 00010008 length -1 samples, lengthbytes 16461 [LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 0870EA10 [LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 0870EB28
And when calling playSound, it fails with error FMOD_ERR_NOTREADY.
I am guessing the issue is with the “-1 samples”, as all files that don’t work display this, and files that do work display a sensible number of samples.
I haven’t created the files, but the person who did claims he created all the files with the same version of Adobe Audition.
I’ve taken a look at the file in question, the end doesn’t seem to be terminated correctly, so when we request the decoded size of the file it returns 0. I’ve cross-checked this with the latest Ogg Vorbis reference on GitHub and that code returns the same invalid result. I’ve also cross-checked with MediaInfo and can see it doesn’t know the length either.
Most Ogg Vorbis players don’t care much for length and simply stream the file, which you can do with FMOD::CreateStream. However to decompress into memory FMOD needs to know ahead of time the size of the decompressed file.
My suggestion would be to use a different encoder (or perhaps a newer version). In the past I’ve used OggDrop without issue.
- You must login to post comments
Please login first to submit.