WunderRadio is an radio app for iPhone which supports  multiple sound formats, including mms, ASX, M3U, PLS.  I created an AudioStreamer app, but the most difficult part for me is parsing mms format. However, they created the libs for iPhone which supports mms. You could grab their source code here.

However, they didn’t put the documentation about how to build it. I just tried to build it and here are the steps on Xcode 3.2.5, iOS 4.2.

1. Unzip the folder named “WR 1.9”, then you will see five subfolders “Common”, “ffmpeg”, “MMS”, “RadioShared”, “WunderRadio”.

2. Select “ffmpeg” folder, and double click on “ffmpeg.xcodeproj” (you could also do this in WunderRadio.xcodeproj).

Remember selecting the target “ffmpegLib”, right click on “”ffmpegLib” under “Target” category, then choose “Get Info”.

Make sure “Build” tab is selected. Then change Configuration to “All Configurations”.

1) Choose “Base SDK” to iOS 4.2, then “Architectures” above should be “Standard (armv6 armv7)”. Then change “iOS Deployment Target” under “Deployment” tab to the minimum OS you want to support.

For now, i just choose iOS 4.1, because i am using this version on my device.

2) Then right click on project name under “Group & Files” panel.  Selecting “Get Info” and do the same thing as we just did to target.Then select the dropmenu on the left corner and make sure have all the settings as the image shows below.

Trick here: when you choose the dropmenu, but “missing base sdk” is still showing up, just choose “Debug”, or Choose “Release”, then the iOS version you set will show up here.

3) Select folder “Sub Projects” under project name. Then you will see two sub projects “libavcodec.xcodeproj” and “libavformat.xcodeproj”.

Double click on the first project name, then the new project will be open in a new window. Then do the same thing both to target and group name. (changing base sdk and deployment target). Then build this library.

4)Select the 2nd sub projects and do the same thing. Then build this library.

5) After building those sub projects successfully, then build ffmpeg.

3. Select “MMS” folder, change settings to both target and group name.

4. Select “WunderRadio” folder. Change settings to both target (“WunderRadio” and “WunderRadioLib”) and group name. Then choose “Frameworks” category. Replace the missing files with the ones from iOS SDK 4.2 (Here is the path/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks ). For “libcommon.a”, select from “Common” folder in “WR 1.9” directory.

Then select “libz.dylib” from iOS SDK 4.2 in “Products” category (/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib).

5. Right click on “WunderRadioLib” in target and build. When i build in this step, i got some errors as shown below.

Then i just removed the condition.

6. After that, got more errors below. It was becasue the file under /Common/build/Release-iphonesimulator/libCommon.a. So i just removed this folder, you could just move it to some other places.

Then connect your device and build “WunderRadio”.  Successfully finaly.

For now, it only works well on device.

Here is the link of my Project, in case you couldn’t figure it out.Try me