ive got some problems with the function FSOUND_Stream_GetPosition.
I use the FSOUND_File_SetCallbacks function from my memory stream to read. This memory stream is still filling while the FSOUND_Stream_Play running.
My Problem is now, if i ask some functions like FSOUND_Stream_GetLengthMs, FSOUND_Stream_SetPosition or FSOUND_Stream_SetTime while my Memory stream still filling, they response the wrong size / time. They all took the size if FSOUND_Stream_Play called. But my size is still growing… i think there is a cache mechanism. How can i reset it in FSOUND?
- chrisfunk asked 14 years ago
I cant reply any large number.
If I use this function:
FSOUND_File_SetCallbacks(@CallBackOpen, @CallBackClose, @CallBackRead, @CallBackSeek, @CallBackTell);
… the return value can only 0 if successful.
Is there any way to say recalculate FMOD? Like a function or something else?!
Its delphi… but this function is not the problem. The function works… i cant return the position to FMOD.
The callback function only accept this:
function CallBackSeek(Handle: Cardinal; Pos: Integer; Mode: Byte): integer; stdcall;
// handle This is the handle you returned from the open callback to use for your own file routines.
// pos This is the position or offset to seek by depending on the mode.
// mode This is the seek command. It uses and is compatible with SEEK_SET, SEEK_CUR and SEEK_END from stdio.h, so use them.
// Return Value
// If successful, the seek callback returns 0. Otherwise, it returns a nonzero
// value. On devices incapable of seeking, the return value is undefined.
Please add a recalculate feature to FMOD. All problems should be done with this.
Please login first to submit.