fixes for Opus encoder by Christian Franke <nobody@nowhere.ws>
This commit is contained in:
parent
ab48aa3071
commit
40fd8cc0cf
|
@ -260,10 +260,11 @@ dnl make sure at least one of lame and vorbis present
|
|||
dnl-----------------------------------------------------------------------------
|
||||
if test "x${LAME_LDFLAGS}" = "x" \
|
||||
-a "x${VORBIS_LDFLAGS}" = "x" \
|
||||
-a "x${OPUS_LDFLAGS}" = "x" \
|
||||
-a "x${FAAC_LDFLAGS}" = "x" \
|
||||
-a "x${AACPLUS_LDFLAGS}" = "x" \
|
||||
-a "x${TWOLAME_LDFLAGS}" = "x"; then
|
||||
AC_MSG_ERROR([neither lame, Ogg Vorbis, faac, aac+ nor twolame configured])
|
||||
AC_MSG_ERROR([neither lame, Ogg Vorbis, opus, faac, aac+ nor twolame configured])
|
||||
fi
|
||||
|
||||
|
||||
|
|
|
@ -36,6 +36,9 @@
|
|||
// compile only if configured for Ogg / Opus
|
||||
#ifdef HAVE_OPUS_LIB
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "Exception.h"
|
||||
#include "Util.h"
|
||||
|
@ -474,10 +477,10 @@ OpusLibEncoder :: flush ( void )
|
|||
|
||||
int opusBufferSize = (1275*3+7)*getOutChannel();
|
||||
unsigned char * opusBuffer = new unsigned char[opusBufferSize];
|
||||
short int * shortBuffer = new short int[480];
|
||||
short int * shortBuffer = new short int[480*getInChannel()];
|
||||
|
||||
// Send an empty audio packet along to flush out the stream.
|
||||
memset( shortBuffer, 0, 480);
|
||||
memset( shortBuffer, 0, 480*getInChannel()*sizeof(*shortBuffer));
|
||||
memset( opusBuffer, 0, opusBufferSize);
|
||||
int encBytes = opus_encode( opusEncoder, shortBuffer, 480, opusBuffer, opusBufferSize);
|
||||
if( encBytes == -1 ) {
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef HAVE_OPUS_LIB
|
||||
#include <opus/opus.h>
|
||||
#include <ogg/ogg.h>
|
||||
|
|
Loading…
Reference in New Issue