MP3 support

Started by Blizzard, May 10, 2011, 05:38:30 am

Previous topic - Next topic

Blizzard

This is also somewhat of a task.
You probably know that the MP3 format is protected by a patent. Now I am not entirely sure whether the problem affects only files encoded into MP3 or if that goes encoders and decoders as well. Basically it would be good if somebody of you can do some research on the matter. We only need to be able to use a decoder. Windows platforms won't probably be problematic because I think it's allowed to use an internal API to decode an MP3 (this is how the new XAL 2.0 works which I just merged back into the trunk :3), but the problem arises on other platforms where we may have to offer the end-user a library file or something like that.

Who's gonna do this research?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

May 10, 2011, 10:54:52 am #1 Last Edit: May 10, 2011, 11:13:56 am by PenguinEatingBirdramon
Ok I've looked into it and the format is indeed patented, kinda.
the patents are conflicting and I can't find a source the explains who all owns them and what is patented by whom.

there are free codecs and libraries that decode MP3 like ffmepg which uses libavcodec both projects have been around a while and haven't been bothered by patent holders. their code is GPL but if you use it in a commercial project your still supposed to pay a licensing fee. non commercial projects really are not at risk

long story shot it is  complex legal issue that the *unix community has largely not mess with untill the  advent of http://www.fluendo.com/shop/product/fluendo-mp3-decoder/ ubuntu and other distros didn't come with mp3 support out of the box, users ere responsible for downloading players with the support the lagal status of which as questionable thus the users and creators of that mp3 support took up the legal burden of copy write infringement.

I'm not sure if we can use the Fluendo work around or not.

in truth with tools like WinFF and other audio converters it shouldn't be to much of a problem for people to use ogg and flac. especially if we provide tutorials and such on how to use them.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

You suggestion that we just dump MP3 support then?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

ForeverZer0

I'd say keep the support for, but don't include the codecs. Provide links where one can get them if they choose to use MP3s. That way our asses are clear, but people can still use them without much trouble.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Blizzard

Problem is that we can't support unless we implement a decoder or use a DLL for decoding. And while it's possible to load DLLs in runtime, I'd like to avoid that.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

ForeverZer0

I is an alternative to not using MP3 at all.  If the user decides they can do everything with other formats, then they won't need the external DLL dependency, but if they do, they at least have the option.

I still suggest we look a little deeper into this, though. I too am not a big fan of the external library.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Blizzard

No, that's not what I meant. You can literally compile a binary and leave out the dynamic linking. Your binary will run normally if the DLL is not present, but if a feature is requested that requires the DLL, it will crash. It's basically like a plugin system. So we actually can make it work like this, but the problem is that we did offer the possibility and I'd like to avoid a plugin-like DLL loading like this. It's a bit bothersome to implement in C++.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

I say just dump it. we can explain that the mp3 format is patented and that even with GPL decoders we would still need a patent to distribute a software that uses a decoder. mp3's and such can simply be converted to ogg or flac with an audio converter tool, ( I recommend WinFF) I consider it nothing more than a minor inconvenience to spend 30 minuets letting a converter convert my 20 or so files that I'm using to avoid the legal maze course that is mp3.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

ForeverZer0

I'd hate to loose that, but I am willing to dump it as well if it is going to be a major issue down the road.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Blizzard

So am I. No MP3 support then.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

G_G

October 05, 2011, 12:47:46 am #10 Last Edit: October 05, 2011, 12:49:28 am by game_guy
What about FMOD? I haven't looked a whole lot into it on commercial use but it might be worth checking out.
http://www.fmod.org/

QuoteFMOD Ex supports the following audio formats: AIFF, ASF, ASX, DLS, FLAC, FSB (FMOD's sample bank format), IT, M3U, MIDI, MOD, MP2, MP3, Ogg Vorbis, PLS, S3M, VAG (PS2/PSP format), WAV, WAX (Windows Media Audio Redirector), WMA, XM, XMA (only on the Xbox 360), as well as raw audio data.


I understand we still have to deal with mp3 licensing which is why we could take a look at this.
http://www.mp3licensing.com/

ForeverZer0

Although that is pretty good, I think the few standard formats that are already supported are sufficient, and there is really no getting around the MP3 thing. I was speaking in IRC with someone about a week ago and we were discussing this issue. He was experienced in creating codecs and into the whole audio thing, and he was a little more knowledgeable on the matter than I. He basically confirmed what we already knew about there being no free way to use the MP3 format. 

Basically, I really don't want to have to purchase a license, and neither do I think we really need to.  Other formats are actually better suited for games anyway, and since there is already the ability to stream them, MP3 really doesn't have anything to offer, except maybe the fact that there are already existing resources using the format. I don't even think that will be any great obstacle since there are plenty of free and easy ways to quickly convert them, and I am sure there will be many people who make it a task to do so for everyone and upload them.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

G_G

Damn. >_> Well maybe if we end up making decent profit off of ARC we could later on buy a license. If not oh well.

ForeverZer0

Sure, and I don't suggest that we totally ignore it and say ARC will NEVER have MP3 support, but maybe see where things go first like you said.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Ryex

getting the library support was never a problem, it's the licensing that is the problem.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

We have a multiple licensing problem here.


  • decoder in our editor

  • decoder in our engine

  • redistribution of the license rights because the engine will be redistributed by the users

  • licensing of the files used by the user



Even if we added mp3 support and paid for it, people would still have to buy an mp3 license so that they can actually use the format. Since that causes additional problems, we will just screw mp3 support altogether. And I am not exactly sure how distribution of the engine used by other people works out with our license so even that might cause problems. That's far too many problems for something simple so screw it. Also, I think the license is time limited and we have to purchase another one after a year or something. And it's not even cheap. :/
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Blizzard

*double posts*

I have made this thread public so people know why we won't include MP3 support.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.