40 lines
1.5 KiB
C
40 lines
1.5 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#ifndef __BINKACEH__
|
|
#define __BINKACEH__
|
|
|
|
#ifndef __RADRR_COREH__
|
|
#include "rrCore.h"
|
|
#endif
|
|
|
|
#define AUDIOFLOAT F32
|
|
|
|
#ifdef WRAP_PUBLICS
|
|
#define rfmerge3(name,add) name##add
|
|
#define rfmerge2(name,add) rfmerge3(name,add)
|
|
#define rfmerge(name) rfmerge2(name,WRAP_PUBLICS)
|
|
#define BinkAudioCompressOpen rfmerge(BinkAudioCompressOpen)
|
|
#define BinkAudioCompressLock rfmerge(BinkAudioCompressLock)
|
|
#define BinkAudioCompressUnlock rfmerge(BinkAudioCompressUnlock)
|
|
#define BinkAudioCompressClose rfmerge(BinkAudioCompressClose)
|
|
#endif
|
|
|
|
//===========================================
|
|
// encoding API
|
|
//===========================================
|
|
|
|
struct BINKAUDIOCOMP;
|
|
typedef struct BINKAUDIOCOMP * HBINKAUDIOCOMP;
|
|
|
|
typedef void* BinkAudioCompressAllocFnType(UINTa ByteCount);
|
|
typedef void BinkAudioCompressFreeFnType(void* Ptr);
|
|
|
|
//#define BINKACNEWFORMAT 1
|
|
#define BINKAC20 4 // if set, BINKACNEWFORMAT is assumed
|
|
|
|
RADDEFFUNC HBINKAUDIOCOMP RADLINK BinkAudioCompressOpen(U32 rate,U32 chans, U32 flags, BinkAudioCompressAllocFnType* memalloc, BinkAudioCompressFreeFnType* memfree);
|
|
RADDEFFUNC void RADLINK BinkAudioCompressLock(HBINKAUDIOCOMP ba,void**ptr, U32*len);
|
|
RADDEFFUNC void RADLINK BinkAudioCompressUnlock(HBINKAUDIOCOMP ba, U32 lossylevel, U32 filled, void** output,U32* outbytes, U32* uncompressedbytesused);
|
|
RADDEFFUNC void RADLINK BinkAudioCompressClose(HBINKAUDIOCOMP ba);
|
|
|
|
#endif |