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
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.
Ok, the live365 stuff is on my todo list.
As for the new FSOUND_Stream_Net_* functions, you’ll have to wait until we release 3.7 and then read the documentation 😀
Those functions have already changed since the last fmod.dll release so don’t bother trying to mess around with them yet because they’re not finished.
Will parsing the ID tags go like this?
FSOUND_ID_LOADFILE(* filename *);
FSOUND_ID_GetTitle(var * Title *);
Or do we have to load a stream like we are used and then get
the ID info of it?
So does FMOD load the stream and set all things up or can I just
parse it a filename and then get the ID info?
Keep up the good work, FMOD rocks. 😀
Ok, updated again. The player now loads playlist files (.pls) from the load dialog, the command line and through drag’n’drop. This means that if you setup your browser to pass .pls files to fmod.exe then you can hit links on http://www.shoutcast.com and have them automatically loaded into FMOD Media Player.
For Mozilla: Edit->Preferences->Helper Applications – associate “audio/x-scpls” with fmod.exe
For Internet Explorer: Tools->Folder Options->File Types – associate “pls” with fmod.exe
@Steve – Thanks for the suggestions – buffering status and buffer usage statistics are exposed by the API. (Errr… the 3.70 API that is…)
I tried playing these in FMOD, if they didn’t work i tried them in Winamp…
Here are the ones that work in Winamp but not FMOD.
FMOD says ‘Error’
The following stream caused some problems for FMOD. Sometimes it would load, sometimes it would not. If you hit play and it loads fine, hit stop, then immediately hit play again, and it will tell you that it is buffering, but it doesn’t seem to complete the buffering.
SpaceNuts: No. Open the stream as normal (FSOUND_Stream_OpenFile) and then get tag fields by name and type i.e. “get the value of an ID3v2 tag field named TPE1” or “get the value of a vorbis comment named ARTIST” etc. You’ll also be able to iterate through all available tag fields.
1) More of a Minor Cleanup bug, but if you drag and drop a directory, it will say file not found.
Possible solutions would be to not allow directory dropping, or to support directory dropping via recursive adding.
2) Feature Request: Either support for entering proxy/firewall connection info, or using the default connection information to connect to the internet (setup in ie). I’ve just tried using shoutcast from work, and it works fine in winamp, but not from FMOD.
In winamp i have told it that i use ‘LAN internet connection’, i have not actually specified a proxy server and port.
You’ll have to explain your setup more clearly – was the second person running a server in relay mode or were they re-broadcasting the stream? What source were they using? (Oddcast, SHOUTcast plugin etc.) What server were they using? (Icecast, SHOUTcast DNAS etc.)
It’s hard to diagnose your problem without the above info but, off the top of my head, intro files have been known to cause frequency problems – make sure your intro file has the same bitrate/frequency/channels as your target stream. Oddcast can be a bit flaky when you give it songs with different bitrates. Nullsoft’s SHOUTcast plugin sometimes does weird things if the stream on encoder 1 has a different number of channels than streams on encoders 2,3,4 and 5.
Basically, it sounds like a source/server issue but if you can explain your setup more clearly or even give me a test case in which FMOD fails and other players (winamp etc.) don’t then we can do something about it.
[quote="Paranoid_Android":9g3kfyp5]Why is the v3.7 dll so big compared to the v3.63 dll?? version 3.63 is 134kb and the 3.7 dll is 312kb.[/quote:9g3kfyp5]
Chances are, the DLL was built in Debug mode. The extra 200KB is symbol info and incremental compilation stuff, which don’t exist in a Release build.
Please login first to submit.