On Wed, Sep 12, 2012 at 6:17 PM, Sherief Farouk
<sherief.personal at gmail.com> wrote:> Hi,
>
> I've noticed that the opus-tools is using a really old version
of Speex's resampler code - a version that I've seen fail in the wild
first-hand under low resource circumstances. I've actually submitted patches
for some issues in the Speex resampler a while ago (and IIRC they were
accepted): http://lists.xiph.org/pipermail/speex-dev/2009-November/007541.html ,
http://lists.xiph.org/pipermail/speex-dev/2009-November/007542.html ,
http://lists.xiph.org/pipermail/speex-dev/2009-November/007525.html .
>
> Is there any chance the resampling code could be spun off into a separate
library? A commercial-license-friendly resampler would be really helpful (I
needed one myself), and a single unified library would make it a lot easier to
track updates and patches. I've spun off the resampler parts some time ago
when I was working on a project that relied on the Speex resampler, and it can
be found here: https://bitbucket.org/sherief/speex-resample . Whether someone
wants to use that as a basis of a resampler library or do a clean spin-off off
of Speex's code is fine by me - I'd just like to have a single,
permissively licensed resampler library tested on a variety of platforms and
under a variety of conditions. I only target Windows, OS X and a Clang-based
embedded platform but so far the version I have has been working fine for me.
Greetings, sorry for the delay? I was expecting JM to reply.
The code in opus-tools is not old? at the moment in fact it has
bugfixes beyond what is in the Speex codebase? it seems your patches
were never merged. Though clearly the sizeof(int) is incorrect there,
and I'll merge it.
I'm currently disinclined to go the separate library route? the
resampler is quite small code? only about 1kloc, and I really don't
want to complicate the opus-tools build process with another
dependency. Yet if there is a stand-alone library the various
GNU/Linux distributions have a somewhat obsessive hardline behavior to
not allow any 'bundled libraries' at least when they notice.