Closed raub closed 5 years ago
Hi @raub - some people (like myself) prefer static linkage models -- less dynamic libraries to copy around. libnyquist was created out of frustration with the LGPL'd libsndfile to start with. Runtime extensibility is a nice feature but beyond the scope of what I had intended to provide here.
If I add MP3, it would be through this library in the public domain: https://github.com/lieff/minimp3
I'm ok with pretty much any. It all comes down to the fact that the demos, I'm trying to port from web, all use mp3 resources. And currently LabSound (using libnyquist decoders) is incapable of mp3, so for me anything is better then nothing.
Hi @raub - implemented in acaf19d97e028fc499a316942bfa62c5934bc957
There's no need to justify for this feature. Also I think in 2k18 the technology has already come to a point where MP3 is available for ordinary mortals. Whatever people say against it.
So there is libmpg123, and as I see it's LGPLv2, so it can be used commercially and requires dynamic linking. But libnyquist is built as a staticlib. Btw, why exactly libnyquist (and LabSound) only support staticlib build?
May be we could arrange it the other way around. Currently, your AudioDecoder is very rigid. If it allowed some external tampering, I could simply add my own decoder in the middle of runtime.
Taking the "external" approach even further, I could send the decoded MP3 data in some intermediate format... For example with ".mp3dec" extension, and there will be the decoded data and metadata in a specified format. But this is the least desired way.