I am working on FMOD Ex use my own file system, but it shows some strange behaviors.

After open a file, seek callback is called first, and position parameter is strange value. Then read callback is called until EOF.

Example 1. (mp3 file)
file size : 4947356
seek pos : 4945920
first read size : 2048(actual read size 1436)
second read size : 612(actual read size 0)

Example 2. (wav file)
file size : 18292
seek pos : 16384
first read size : 2048(actual read size 1908)
second read size : 140(actual read size 0)

I don’t understand why seek callback is called first and what these position value means. Does anybody can explain why this happens?

And I found function prototype of seek callback is different in documentation and in header. In documentation position is int value and in header it is unsigned int value. Is this just errata of documentation?

I am working with FMOD Ex 4.00.33 and Visual C++ .NET.

  • You must to post comments

At first, thanks for answer.

I had trouble with playing sound with my own file system, so I was inspecting seek callback, but I found that return code of read callback is problem.

So I have another question now. What code should I return when less than requested bytes is read in read callback? FMOD_OK or FMOD_ERR_FILE_EOF or another code?

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.