Hi guys, I’ve got a little present and a little request for you :
This is the latest version of the FMOD media player with all the internet streaming stuff working. It’ll play SHOUTcast, Icecast2 and HTTP streams.
Anyone want to test it? 😀
We’re not quite ready to do the full 3.70 release yet but I want to get some good testing in to make sure the network code is all cool. It’d be great if you guys could try it out on a few streams and let me know if it breaks. Here’s some handy links as well :
[url:1wraoo9r]http://www.shoutcast.com[/url:1wraoo9r] – SHOUTcast server etc. and a big list of public SHOUTcast streams.
[url:1wraoo9r]http://www.oddsock.org[/url:1wraoo9r] – oddcastDSP for Winamp – so you can be a source for Icecast2 streams.
[url:1wraoo9r]http://www.icecast.org[/url:1wraoo9r] – Icecast2 server.
edit: New version uploaded July 4th 5pm AEST
edit: New version uploaded July 7th 7pm AEST Works with HTTP redirects now (thx Cliff! :D) plus buffering and playlist fixes
I tried this behind the proxy at work, and it now works perfectly if i enter the proxy details, however i did find a crash if the settings were blank, or if you set it to a fake host such as blah.cool.com:345 or something.
If i played a stream when my proxy settings were blank (ie. no proxy), or the fake host, then it would say ‘connecting…’ and then hit stop (to cancel the connecting state), it would crash.
Ok, new version uploaded :
Now handles streams that change samplerate mid-stream and has improved url parsing.
djmaze, you asked about live365 support: FMOD will play live365 streams just fine but it’s up to you to give the live365 server a url in the format it expects i.e. with your current ip address etc. etc. FMOD doesn’t care what the url looks like as long as it starts an audio stream somehow.
Oh, and this is not supported for internet streams but on normal files, you’ll notice that FMOD is now parsing ID3v1, ID3v2 and vorbis comment tags.
No worries, Andrew 😉
I have another issue, but i’m not sure how important you would regard it.
The issue is that of network connectivity loss. I have a router here at home, and if i disable my network card while i am playing a stream, then re-enable it, FMOD enters a constant (Buffering…) mode, and never reconnects to the stream again. (Pulling the network cable out, or d/cing a modem would have the same effect)
Anyway, i’m not sure how you would want to handle this problem. From my point of view, it is a problem, and i would hope that FMOD is able to connect again, without entering ‘Buffering…’ mode forever.
Yeah, I get similar problems with normal streams when I pull my hard drive out of my computer while it’s playing something. 😀
But seriously, that issue is already on my list but, at the moment, I’m more concerned with streams not starting/stopping properly or getting MPEG chirps and whatnot. If you want internet streams to automatically try to reconnect then it’s a toss-up whether we do it internally or you check the connect status (one very quick function call) and restart it yourself. Either way, it’s not difficult.
Wow, this really works!
Have tested it with some ShoutCast MP3 streams and
with IceCast2 OGG stream which also works perfect
except for one thing, it says the bitrate of the IceCast2
stream is equal to 0 while WinAmp gives a bitrate
somewhere between 100 and 120, the MP3 bitrate works
Tested IceCast stream:
http://orbislumen.net/seattletech/index … eattletech
Which gives you a m3u, but editing will give you the url. 😀
Haven’t tested more IceCast2 streams, couldn’t find them.
Thanks for your time.
It’s not about Fmod player but fmod.dll v3.70. Sorry if i’m not
in the right place.
I upgraded my program to v3.70. When i play some mp3 which
are in program’s directory, on one file i have a big memory leak.
RAM usage can go from 32 Mb to 1.4 Gb for that program.
It’s always the same mp3 file which makes this issue.
With v3.63 i don’t have this problem.
The code to play files is:
... space key pressed to change music ...
my_music = FSOUND_Stream_Open(stringMp3, FSOUND_NORMAL | FSOUND_LOOP_OFF, 0, 0);
int_sound_mp3 = FSOUND_Stream_Play(FSOUND_FREE, my_music);
BTW i used the new internet streaming functionality but it is not active
when the issue occurs.
I tried many things like FSOUND_NONBLOCKING but it doesn’t resolve
the problem (but it works fine with internet streams :D)
Do you have any idea about that ? Do you need more infos ?
compiler : visual studio 7.0
os : winXP
mp3 : 128kbps, 44khz
It plays the Live365 but live365 has edited their script so a user must always use their real IP so when you want to connect to Live365 you must give it an url with your IP. ex.: http://www.live365.com/play/102190?SaneID= [b:35azlsip]127.0.0.1[/b:35azlsip] -1056029641289&AuthType=NORMAL&VisitCount=1&bitrate=133&pid=1110
And how do i use:
First – hi guys, this is my first post to your forum. FMOD’s already a great library, it’s good to see that you’re making it better.
>If you want internet streams to automatically try to reconnect then it’s a toss-up whether we do it internally or you check the connect status (one very quick function call) and restart it yourself. Either way, it’s not difficult.
If it’s not too difficult & you can fit it into your schedule, then my vote would be for you to add auto-reconnect functionality to the library implementation as the default behaviour. You could add flag(s) to the stream initialization API calls to enable manual reconnects, if anyone has a reason for wanting to do this. If you keep the external API as simple as possible & deal with all the generic default operations internally, the API is kept clean & easy to use, which is nice.
Of course once you start messing around with streams, then, depending on what your app does, you can end up with syncing issues when having to wait for audio to buffer … Some kind of buffering callback functions would probably be quite handy.
Advance Software Ltd.
Please login first to submit.