WiP: update to latest fdk-aac library
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
This commit is contained in:
parent
de938c2e78
commit
8e99daf034
|
@ -19,7 +19,7 @@ steps:
|
|||
commands:
|
||||
- apk update
|
||||
- apk add --no-cache git gcc g++ musl-dev bash autoconf automake cmake make libtool gettext fdk-aac-dev --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||
- go test -p 1 -failfast -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
- go test -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
|
@ -57,7 +57,7 @@ steps:
|
|||
commands:
|
||||
- apk update
|
||||
- apk add --no-cache git gcc musl-dev pkgconfig
|
||||
- go test -p 1 -failfast -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
- go test -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
|
@ -94,6 +94,6 @@ steps:
|
|||
commands:
|
||||
- apk update
|
||||
- apk add --no-cache git gcc musl-dev pkgconfig
|
||||
- go test -p 1 -failfast -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
- go test -timeout 20m -cover -race -gcflags=-d=checkptr -v ./...
|
||||
...
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ package fdkaac
|
|||
/*
|
||||
#cgo pkg-config: fdk-aac
|
||||
#include <fdk-aac/aacenc_lib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
typedef struct {
|
||||
// the encoder handler.
|
||||
|
@ -88,22 +89,31 @@ int aacenc_init(aacenc_t* h, int aot, int channels, int sample_rate, int bitrate
|
|||
case 5: mode = MODE_1_2_2; sce = 1; cpe = 2; break;
|
||||
case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break;
|
||||
default:
|
||||
return -1;
|
||||
return AACENC_INIT_ERROR;
|
||||
}
|
||||
|
||||
if ((err = aacEncOpen(&h->enc, 0, channels)) != AACENC_OK) {
|
||||
printf("aacEncOpen");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_GRANULE_LENGTH, 1024)) != AACENC_OK) {
|
||||
printf("AACENC_GRANULE_LENGTH");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_AOT, aot)) != AACENC_OK) {
|
||||
printf("AACENC_AOT");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_SAMPLERATE, sample_rate)) != AACENC_OK) {
|
||||
printf("AACENC_SAMPLERATE");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_CHANNELMODE, mode)) != AACENC_OK) {
|
||||
printf("AACENC_CHANNELMODE");
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -111,42 +121,51 @@ int aacenc_init(aacenc_t* h, int aot, int channels, int sample_rate, int bitrate
|
|||
// - 0: MPEG channel ordering (e. g. 5.1: C, L, R, SL, SR, LFE). (default)
|
||||
// - 1: WAVE file format channel ordering (e. g. 5.1: L, R, C, LFE, SL, SR).
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_CHANNELORDER, 1)) != AACENC_OK) {
|
||||
printf("AACENC_CHANNELORDER");
|
||||
return err;
|
||||
}
|
||||
|
||||
if (bitrate >= 0) {
|
||||
//CBR mode
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_BITRATEMODE, 0)) != AACENC_OK) {
|
||||
printf("AACENC_BITRATEMODE 1");
|
||||
return err;
|
||||
}
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_BITRATE, bitrate)) != AACENC_OK) {
|
||||
printf("AACENC_BITRATE");
|
||||
return err;
|
||||
}
|
||||
} else {
|
||||
//VBR mode
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_BITRATEMODE, -bitrate)) != AACENC_OK) {
|
||||
printf("AACENC_BITRATEMODE 2");
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_TRANSMUX, trans_mux)) != AACENC_OK) {
|
||||
printf("AACENC_TRANSMUX");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_SIGNALING_MODE, signaling)) != AACENC_OK) {
|
||||
printf("AACENC_SIGNALING_MODE");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncoder_SetParam(h->enc, AACENC_AFTERBURNER, afterburner)) != AACENC_OK) {
|
||||
printf("AACENC_AFTERBURNER");
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((err = aacEncEncode(h->enc, NULL, NULL, NULL, NULL)) != AACENC_OK) {
|
||||
printf("aacEncEncode");
|
||||
return err;
|
||||
}
|
||||
|
||||
AACENC_InfoStruct info;
|
||||
if ((err = aacEncInfo(h->enc, &info)) != AACENC_OK) {
|
||||
printf("aacEncInfo");
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ func TestHev2Encode(t *testing.T) {
|
|||
// flush got the last packets.
|
||||
// @remark user should flush util frame is nil.
|
||||
|
||||
expectedFlushSizes := []int{279, 356, 298, 279}
|
||||
expectedFlushSizes := []int{279, 358, 359, 120}
|
||||
|
||||
for {
|
||||
if frame, err = e.Flush(); err != nil {
|
||||
|
@ -300,7 +300,7 @@ func TestHev2Flush(t *testing.T) {
|
|||
// flush got the last packets.
|
||||
// @remark user should flush util frame is nil.
|
||||
|
||||
expectedFlushSizes := []int{279, 356, 298, 279}
|
||||
expectedFlushSizes := []int{279, 358, 359, 120}
|
||||
|
||||
for {
|
||||
if frame, err = e.Flush(); err != nil {
|
||||
|
|
Loading…
Reference in a new issue