On Mon, Apr 22, 2013 at 06:33:08PM +0200, Peter Meerwald wrote: > Hello, > > > > > > > By "libresample", I guess you mean "libsamplerate". Peter can correct me > > > > > > if I'm intepreting him wrong, but my understanding is that libsamplerate > > > > > > was only mentioned as an example of a resampler with a problematic > > > > > > license. I don't know either what should be done about it - perhaps the > > > > > > idea was to compare the different resamplers, and if it turns out that > > > > > > we don't have any good reason to keep using libsamplerate, we could drop > > > > > > that code. > > > > libsamplerate was mentioned because of the GPL license; > > > to work around, a loadable module interface could be offered, so the user > > > can decide > > > This sounds like a lot of complexity for little gain. What is wrong with > > compile time switches/options? > > maybe yes; depends on how many resamplers there will be > > a loadable module interface enforces a stricter and more stable interface, > which may be a good thing > > some refactoring is in place anyway, so depends how far we want to take it > So I checked this out a little bit and I think I could also add this to my proposal. Here is what I came up with: - make the pa_resampler structure implementation agnostic - replace the static resampling method table with a hashmap or idxset - move the resampler methods to modules and let them register themself inside with the core How does that sound to you? What do the other devs think about this? > > > > > > > Speex has been obsoleted [2] and the resampler seems to had been moved to > > > > > > > opus-tools. There are some interesting commits [3] inside this repo and I think > > > > > > > it would be nice to update our speex resample method although I'm not sure > > > > > > > if it's ok to drop speex and replace it with opus-tools just like that. > > > > > > > > > To me replacing the speex resampler with the opus-tools resampler sounds > > > > > > like an obvious thing to do, if the upstream says that the speex > > > > > > resampler code is deprecated in favour of opus-tools. > > > By the way is there some explicit reason you have chosen libav for this > > project? > > FFmpeg now also has a resampling library [1] and I found an interesting > > blog post about "ffmpeg vs libav" [2]. > > ffmpeg vs. libav is a mess, but I think the dust has settled a little by > now > > my impression is that ffmpeg merged libav stuff, but not vice-versa; so > there is libswresample and libavresample in ffmpeg, libavresample coming > from libav > > > Maybe we should support both so different distributions can choose what > > to use depending on the default lib they are using. > > libavresample can be provided by ffmpeg and libav; not sure if > libswresample should be supported According to this [1] libswresample should perform better or on par libavresample, and if it doesn't we can complain. Supporting both shouldn't be hard anyways and does no harm that I'm aware of. [1] http://ffmpeg.org/pipermail/ffmpeg-devel/2012-April/123746.html