Closed pljones closed 1 year ago
From a quick glance, updating opus to latest master
seems to fix this. I had once prepared to add opus as a submodule, but never got around to submitting a PR. Would it be worth it?
Am I right in thinking we've held back on updates to opus due to a belief there are local patches? Do we know what those are -- that is, do we have them clearly documented? If not, we need to get that done before making a decision at all. We may be able to work against a fork and continually rebase...
Am I right in thinking we've held back on updates to opus due to a belief there are local patches? Do we know what those are -- that is, do we have them clearly documented?
I thought we had updated opus once already, but I can't find a PR. The reason for not updating opus is probably that there wasn't any newer official release and there was no reason to update to a development release. If there is one now, I don't see any reason to avoid that update.
The history looks pretty slim:
commit 7fa437292dcfd61d08e4fbb9ebd1cb0c500cd0e4
Author: Tony Mountifield <tony@mountifield.org>
Date: Tue Jul 27 23:34:01 2021 +0100
Add missing executable mode
commit 3e3fe44a7ff38da653c870cda0b716a3741de42d
Author: Stefan Weil <sw@weilnetz.de>
Date: Mon Jun 29 21:18:54 2020 +0200
Fix some typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
commit 36e6b37fa429dd77e4e5bf8a886dc3e66d8772aa
Author: Hector Martin <marcan@marcan.st>
Date: Wed Jun 3 20:10:58 2020 +0900
opus: fix equivalent bitrate calculation for <20ms frame sizes
commit 582f3e5270b844547b27062624b19bfc1f03a027
Author: Daniel Masato <masatod@amazon.com>
Date: Fri Apr 10 11:43:23 2020 +0100
Fix celt decoder assertion when using OPUS_CUSTOM
When using OPUS_CUSTOM, `CELTDecoder->end` can be larger than 21.
Assert against 25 instead in OPUS_CUSTOM builds.
See https://github.com/xiph/opus/issues/172.
commit ba63b7d82f4bfce37ca6c434cf01452ccab85a3b
Author: Daniel Masato <masatod@amazon.com>
Date: Sat Apr 4 11:16:34 2020 +0100
Upgrade to OPUS v1.3 - library source
Downloaded from https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
There's only two patches which need confirmation again (I'm pretty sure they are from upstream). The other two (top-most) patches are Jamulus-specific changes as part of all-code-base adjustments (which shouldn't have been done to libs/ in the first place, I guess).
We may be able to work against a fork and continually rebase...
Shouldn't a diff be enough from the version we are at now?
Otherwise, we can ask Volker.
Bumping to 3.10.0 as not seen as urgent enough for 3.9.1.
No one assigned. Dropping milestone and moving back to Triage.
@corrados do you know of any Jamulus specific changes to the opus source code?
Very, very long ago I applied some patch to the Celt library. I documented all changes in a file named: "README_LLCON".
Some time later (in 2015), I modified OPUS slightly for eliminating artifacts and I fixed a compiler warning.
In 2017, there was a security issue found in OPUS. I merged the patch of that fix in the current Jamulus OPUS code.
I think none of these changes are relevant for the current Jamulus code.
Would it be worth us getting the Jamulus changes submitted to upstream for libopus and then using it natively, rather than with custom patches?
Ok. So I believe only the 2015 patch is something custom for Jamulus. All the other stuff should be in the latest release of Opus (?)
Actually, the current version doesn't even have the 2015 patch. I believe we can upgrade opus.
If the 2015 patch is still valid (i.e. it's beneficial), it might be worth rebasing it and resubmitting to the Opus developers once we have it integrated into Jamulus as a proof of concept.
I'm not sure. But probably it's still valid. Someone better more than one with a well trained ear/ears should judge.
Describe the bug
libs/opus produces some serious looking warnings on compile.
To Reproduce
Compiling on Linux.
Expected behavior
Compiles should be clean, without serious warnings.
Screenshots
Operating system
Ubuntu 22.04.1 LTS
Version of Jamulus
master
Additional context
Has the new dependency bot been and messed things up?