Hi there. so, this still seems to be an open problem. lets find some sort of workaround. or at the very least deduplicate the effort of getting a locally working jack-opus...
as it seems to be better to not pullute the shared libraries with custom
variants (no way back etc.), i think (until upstream has a better
solution), libopus-dev should just provide an additional static library
including the custom stuff. i.e. build the library twice.
here [1] is a working package (in the custom branch). with the contained
library libopus-custom.a, you can then build an opus enabled jack e.g.
from the opus branch in [2]. without further work, this will lead to
wrong/ambiguous opus symbols in shared objects using the custom libopus.
so its not ready for a release.
$ readelf -s /usr/lib/x86_64-linux-gnu/libjackserver.so.0 |grep opus
391: 00000000000a0d00 5 FUNC GLOBAL DEFAULT 11
opus_custom_encoder_destr
491: 00000000000aa2f0 2068 FUNC GLOBAL DEFAULT 11
opus_custom_mode_create
521: 00000000000a8bc0 185 FUNC GLOBAL DEFAULT 11 opus_custom_decode
564: 00000000000a6450 100 FUNC GLOBAL DEFAULT 11
opus_custom_encoder_creat
577: 00000000000a6440 7 FUNC GLOBAL DEFAULT 11
opus_custom_encoder_init
801: 00000000000a5e90 1226 FUNC GLOBAL DEFAULT 11
opus_custom_encoder_ctl
820: 00000000000a8f60 151 FUNC GLOBAL DEFAULT 11
opus_custom_decoder_init
823: 00000000000a7510 5 FUNC GLOBAL DEFAULT 11
opus_custom_decoder_destr
840: 00000000000b2e90 8 FUNC GLOBAL DEFAULT 11
opus_get_version_string <=
876: 00000000000a9000 100 FUNC GLOBAL DEFAULT 11
opus_custom_decoder_creat
1111: 00000000000a5e80 8 FUNC GLOBAL DEFAULT 11
opus_custom_encode_float
1338: 00000000000a8bb0 8 FUNC GLOBAL DEFAULT 11
opus_custom_decode_float
1340: 00000000000b2e60 33 FUNC GLOBAL DEFAULT 11 opus_strerror
<=
1418: 00000000000a5e10 108 FUNC GLOBAL DEFAULT 11 opus_custom_encode
1536: 00000000000aa270 114 FUNC GLOBAL DEFAULT 11
opus_custom_mode_destroy
1853: 00000000000a8c80 730 FUNC GLOBAL DEFAULT 11
opus_custom_decoder_ctl
2031: 00000000000a74d0 25 FUNC GLOBAL DEFAULT 11
opus_custom_decoder_get_s
2420: 00000000000a0cb0 37 FUNC GLOBAL DEFAULT 11
opus_custom_encoder_get_s
rather than reinventing opus or even jack and the others, my suggestion
is to rename the non-custom symbols in the custom library before
packaging. the package then will probably be debian specific and will
still contain duplicate object code/symbols for the sake of 1ms. but in
my understanding shipping a static library is revertible enough to give
it a try.
thanks
felix
[1] git://tool.em.cs.uni-frankfurt.de/git/opus
[2] git://tool.em.cs.uni-frankfurt.de/git/jackd2
signature.asc
Description: Digital signature

