netjack2 + opus custom modes + debian

Robin Gareus robin at gareus.org
Sat Jun 29 15:59:21 UTC 2013


Hi *,

Ron (debian maintainer of libopus - CCed via @bugs..) ping'ed me
yesterday to follow up on
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686777

To recap:
  netjack2's + opus needs libopus with --custom-modes
  but libopus on debian does not provide custom modes.


When enabling custom modes in libopus, there's a (small, but still)
performance penalty that everyone will pay -> distribution package of
libopus don't usually have that enabled.

Currently jackd2 in debian is just depending on libopus-dev (and because
it has no custom-mode support, netjack is not compiled with opus support).

Adrian Knoth (debian jack maintainer) volunteered to embed the opus
source in jackd packages (if there's no other option).

@Adi does that offer still stand? Can we work this out?


There might be some other cases - e.g. embedded devices -- which would
also like to use custom-modes. Hence it's not 100% out of the question
that debian might package a libopus with custom modes - or provide a
drop-in-replacement (libopus-vanilla <= libopus-custom). But that is not
ideal..

The best option so far is to statically link netjack2 against libopus.

Other distributions may be affected as well, so we might as well address
that upstream and add libopus as git-submodule to the jack codebase (I
could do that).


Thoughts? Opinions? Volunteers?

ciao,
robin


-=-=-

As a reminder - the options for netjack+opus are

>   A)  use standard opus modes
>      + makes some opus-devs and packagers happy
>      - adds latency
>      - adds code-complexity to jack (re-framing to N*120 frames)
>      + possibly improved compressed sound-quality
>
>   B) use opus custom-modes.
>      - may not be available on all systems
>        (requires libopus to be compiled with --enable-custom-modes)
>      + no additional latency
>      + simple code in jack
>      - possibly substandard compression quality
>        (should still be better than celt, though)

we chose (B).

see also "[Jack-Devel] Switch from CELT to Opus in JACK1/JACK2 sources"
September 2012



More information about the pkg-multimedia-maintainers mailing list