mirror of
https://github.com/ivabus/pantry
synced 2024-11-10 02:25:18 +03:00
add opus codec
This commit is contained in:
parent
53199875aa
commit
1ea7ecba04
61
projects/opus-codec.org/package.yml
Normal file
61
projects/opus-codec.org/package.yml
Normal file
|
@ -0,0 +1,61 @@
|
|||
distributable:
|
||||
url: https://github.com/xiph/opus/archive/refs/tags/v{{ version }}.tar.gz
|
||||
strip-components: 1
|
||||
|
||||
# if there’s a github then we can parse the versions
|
||||
versions:
|
||||
github: xiph/opus/tags # reads github tags from github
|
||||
strip: /^v/
|
||||
|
||||
build:
|
||||
dependencies:
|
||||
tea.xyz/gx/cc: c99
|
||||
tea.xyz/gx/make: '*'
|
||||
gnu.org/autoconf: 2
|
||||
gnu.org/automake: 1.16
|
||||
gnu.org/libtool: 2.4
|
||||
script: |
|
||||
./autogen.sh
|
||||
./configure $ARGS
|
||||
make --jobs {{ hw.concurrency }}
|
||||
make install
|
||||
|
||||
mv {{ prefix}}/include/opus/* {{prefix}}/include
|
||||
rmdir {{ prefix}}/include/opus
|
||||
ln -s . {{ prefix }}/include/opus
|
||||
# it’s extremely common for packages to require the above
|
||||
env:
|
||||
ARGS:
|
||||
- --prefix={{ prefix }}
|
||||
- --disable-dependency-tracking
|
||||
- --disable-doc
|
||||
|
||||
test:
|
||||
dependencies:
|
||||
tea.xyz/gx/cc: c99
|
||||
fixture: |
|
||||
#include <opus.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int err = 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;
|
||||
}
|
||||
script: |
|
||||
mv $FIXTURE fixture.cpp
|
||||
cc fixture.cpp -lopus
|
||||
./a.out
|
Loading…
Reference in a new issue