fix(opus-codec)

closes #5440
This commit is contained in:
Jacob Heider 2024-03-04 14:11:16 -05:00 committed by Jacob Heider
parent 97e0c9030b
commit 02b1f22d8b

View file

@ -2,9 +2,8 @@ distributable:
url: https://github.com/xiph/opus/archive/refs/tags/v{{ version.raw }}.tar.gz url: https://github.com/xiph/opus/archive/refs/tags/v{{ version.raw }}.tar.gz
strip-components: 1 strip-components: 1
# if theres a github then we can parse the versions
versions: versions:
github: xiph/opus/tags # reads github tags from github github: xiph/opus/tags
strip: /^v/ strip: /^v/
build: build:
@ -12,16 +11,18 @@ build:
gnu.org/autoconf: 2 gnu.org/autoconf: 2
gnu.org/automake: 1.16 gnu.org/automake: 1.16
gnu.org/libtool: 2.4 gnu.org/libtool: 2.4
script: | gnu.org/wget: '*' # downloads content at build time
./autogen.sh script:
./configure $ARGS - ./autogen.sh
make --jobs {{ hw.concurrency }} - ./configure $ARGS
make install - make --jobs {{ hw.concurrency }}
- make install
mv {{ prefix}}/include/opus/* {{prefix}}/include - run: |
rmdir {{ prefix}}/include/opus mv opus/* .
ln -s . {{ prefix }}/include/opus rmdir opus
# its extremely common for packages to require the above ln -s . opus
working-directory: ${{ prefix }}/include
env: env:
ARGS: ARGS:
- --prefix={{ prefix }} - --prefix={{ prefix }}
@ -29,29 +30,29 @@ build:
- --disable-doc - --disable-doc
test: test:
fixture: | - run: cc $FIXTURE -lopus -o test
#include <opus.h> fixture:
int main(int argc, char **argv) extname: cpp
{ content: |
int err = 0; #include <opus.h>
opus_int32 rate = 48000; int main(int argc, char **argv)
int channels = 2;
int app = OPUS_APPLICATION_AUDIO;
OpusEncoder *enc;
int ret;
enc = opus_encoder_create(rate, channels, app, &err);
if (!(err < 0))
{
err = opus_encoder_ctl(enc, OPUS_SET_BITRATE(OPUS_AUTO));
if (!(err < 0))
{ {
opus_encoder_destroy(enc); int err = 0;
return 0; opus_int32 rate = 48000;
int channels = 2;
int app = OPUS_APPLICATION_AUDIO;
OpusEncoder *enc;
int ret;
enc = opus_encoder_create(rate, channels, app, &err);
if (!(err < 0))
{
err = opus_encoder_ctl(enc, OPUS_SET_BITRATE(OPUS_AUTO));
if (!(err < 0))
{
opus_encoder_destroy(enc);
return 0;
}
}
return err;
} }
} - ./test
return err;
}
script: |
mv $FIXTURE fixture.cpp
cc fixture.cpp -lopus
./a.out