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
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.
- Steve answered 15 years ago
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.
Ok, another new version’s up.
It now supports HTTP proxies and there’s a couple interface fixes. (thx Cliff! :)) I’d be interested in hearing about any proxy-related problems people might encounter.
Oh, and the proxy settings are in the “config” dialog.
- a ShoutCast server
- User 1 streaming to server with shoutcast DSP: 24 kb/s, 22kHz, mono
- User 2 streaming to server with SAM DSP: 24kb/s, 11kHz, mono
User 1 is streaming to server and ends his show
User 2 now connects to server with his settings
FMOD still says 24 kb/s, 22 kHz, mono and is playing the sound twice as fast.
B.T.W. The “notify when reply” in this phpBB 2.0.3 isn’t working
None of the Nectarine streams work, e.g. http://nectarine.nuclear.no:8002/listen.pls
I just get “Error” as the Status in the Net Stream Info panel.
(Nectarine is having issues, but I did check with Winamp3 and it worked fine).
Just tried it again.. no “Error” this time, but just HTTP/1.1 200 OK
Great news that this is coming soon, hope the issues can be ironed out.
Ok, fixed it. The samplerate was changing mid-stream and FMOD wasn’t handling it properly. In fact, some other players just stop the stream altogether or, even worse, just crash! FMOD handles changing samplerates fine now 😀
I’ll upload a new build in a couple days.
I’ve heard UPX compression causes some virus scanners to report nonexistant viruses in the compressed file… the Inno Setup developer reported this (why he stopped compressed the IS .exe), and I’ve also seen the same thing stated on a few other sites… just to let you guys know.
Please login first to submit.