The problem is that the time we got by calling the function FSOUND_Stream_GetLengthMs(stream) is half of the correct time.

Another problem is that the function FSOUND_Stream_GetTime(stream)
doesn’t work well when our target time exceeds half of the total time. In fact all we can get is a value equal to half of the total time when we want to get a time exceeding half of the total time.

Another interesting thing we found is that we must use a value equal to half of the correct time as second parameter of the function FSOUND_Stream_SetTime(stream,time) in order to get a right result.

ok ill give you an example.
try 1:-mp3 last 10secs long, get time goes from 0 to 10secs correctly.
try 2:-same mp3 but at 5 secs a set time to 1 second. audio plays from 2 secs but gettime now says 4 seconds and when played till end plays till 14 secs. (but actually didnt slow down)
try3: same mp3 and at 5 secs used stream position to 1/2 way through file (5 secs) audio plays from 5 secs but getime now says 10secs and will play till end reporting a time of 15 secs when stopped.

is im not at work today these times are from memory and not exact, to give you an idea of just how far out hey are.
hope that helps.
Greg.

The shift is increasing at the end of the file.
i have sent u a copy of one mp3 file and txt file contains positions to seek at all of them doesn’t give accurate seeking except if i seek to zero from any time position in file.

i think that the audio output is different from the seeking to time and get time.