When I load a stereo MP3 stream woth FSOUND_FORCEMONO, GetTime and SetTime don’t seem to work right anymore.
It looks like SetTime needs double the offset compared to when you don’t use ForceMono. GetTime returns something I can’t put my fingers on, it’s not completly wrong, but it ain’t right either because when I use SetTime with the value I got from GetTime, I end up a little earlier in the stream then.
Maybe this is the way it was designed, but I think might be an ‘Undocumented Feature’.
(I use ForceMono with SetPan to “fake” 2 seperate outputs. Player 1 outputs to the left, and player 2 outputs to the right channel)
- Harold asked 15 years ago
I can’t really say it’s the same problem, but let me try to illustrate it to you. First i’ll show you my init code just in case I made a mistake somewhere.
Mode := FSOUND_NORMAL or FSOUND_HW2D; if Mono then Mode := Mode or FSOUND_FORCEMONO; _Stream := FSOUND_Stream_Open(MemBuffer, Mode or FSOUND_MPEGACCURATE or FSOUND_LOADMEMORY,0,MemBufferSize);
When you jump to 66 Miliseconds in STEREO music starts playing from the start of the song. When using FORCEMONO you’ll hear you miss the very first beginning. If you then seek to the dessired point, you’ll notice this is 33 miliseconds. But after taking a closer look I discovered that when you goto ie. 9932 in STEREO, the same position with FORCEMONO is 9863. So it looks like you’ve got the same sort of “strange” offset as you have when you’re not using MPEG_MPEGACCURATE.
I tried all sorts of combinations to make ik work right. In this example i’m loading from memory, but I get the same results streaming from disk.
Maybe i’m wrong but I think this is not right.
I’ll be happy to make a little demo app which show the problem.
Please login first to submit.