Today I upgraded from 4.16.08 to 4.28.05. I’m using fmodex.dll, Windows OS.
I can no longer stream music URL’s from the Internet. This is broken. Switching back to 4.16.08 fixes it.
The error given in 4.28.05 by getOpenState is FMOD_ERR_FILE_COULDNOTSEEK (Couldn’t perform seek operation. This is a limitation of the medium (ie netstreams) or the file format.)
The error occurs partway through the buffering. Any seeking is internal, I am not doing any.
Please advise. I get the same result for different URL’s. My app uses http://radio.c64.org:8000
- fundictive asked 9 years ago
Out of the box, netstream does not exhibit the problem with the same URL.
Poking around with it I have isolated the factor that manifests the bad behavior:
- Init with FMOD_INIT_VOL0_BECOMES_VIRTUAL
- Adjust the volume, e.g:
result = FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, sound, FALSE, &channel);
This exhibits the problem for me, in netstream.
My app fades in the volume of the music stream.
Omitting either the virtualization flag or the zero volume setting prevents the problem from manifesting.
That sounds reasonable to me, you cannot make a netstream go virtual. When a channel goes virtual it stops processing, the virtual channel keeps track of what position it should be up to then when it becomes real again it will seek to the correct position.
The error you are getting is when it becomes "real" it is trying to seek the netstream, which you cannot do. Is there any particular reason why you would want the netstream to go virtual anyway?
FMOD_INIT_VOL0_BECOMES_VIRTUAL is a System::init flag; I don’t have the ability to disable it for certain sounds, do I?
I had presumed that the flag was intended to give me a performance optimization for most sounds.
Also, as I mentioned, this is an introduced problem. I never had this in 4.16.08.
Usefulness of the flag depends on what your app is doing. If you have lots of game sounds playing at once with different volumes (some silent) you may get some performance wins by having the silent sounds go virtual. Otherwise it’s probably not helping you at all.
Is it necessary for you game / app to set te volume of the netstream to 0? Could you simply pause or stop it instead?
Please login first to submit.