The buffering cancelatoin on release sounds good.
I’m sorry if my explanations are not clear enough, and I’m sure there are better ones on the web.
Anyway, an easy way to allow me to download the whole file while being able to play it, might be adding another flag FMOD_PROGRESSIVE_STREAM that will break the binding between the download and the playback position.
The app I’m working on is a recorder/player, which is an FMODed upgrade version to an activeX that I developed few years ago and which is used in our web application (you can check it out at http://www.ksolo.com).
It is essentially an on-demand audio player which uses “progressive streaming”.
the current version uses the Flash player as the audio playback streamer/player and the plugin only record while relying on the sound card to do the mixing.
In the version I’m working on we want to take the Flash player out of the loop and handle all audio aspects in the plugin using FMODEX. while keeping the same user experience.
FMODex is great for us in many aspects such as DSP, codecs etc however when it comes to streaming, FMODEX seems to be built specifically for shoutcast type of streaming and “progressive streaming” of fixed size files is something that can not really be achieved in the current version (as we discussed in previous thread).
Now getting back to the topic of this thread when users change their songs selection I want to start downloading and playing the new song as soon as possible, in the same time I need to do some buffering because I don’t want the recording process to get stuck in the middle. I currently buffer 10% which can be 400k for a 4MG mp3 file. If a user changes his mind while buffering and clicks on another song, I can’t start the next download until the whole 400k are downloaded which might take few secs on slow connections.
I hope this clear up my issues, we will licence FMODex anyway because it is a great sound platform but I’m wondering if the type of issues that I described above will be a priority anytime soon, or should I build my won solution using libcurl for example.
Please login first to submit.