blob: 0eda1f08d13415c9f6418c7e90915a2d7cd6ab8d
1 | /************************************************************************************** |
2 | * Fixed-point RealAudio 8 decoder |
3 | * Jon Recker (jrecker@real.com), Ken Cooke (kenc@real.com) |
4 | * October 2003 |
5 | * |
6 | * gecko2codec.h - public C API for Gecko2 decoder |
7 | **************************************************************************************/ |
8 | |
9 | #ifndef _GECKO2CODEC_H |
10 | #define _GECKO2CODEC_H |
11 | |
12 | //#include "includes.h" |
13 | #define _ARC32 |
14 | |
15 | #if defined(_WIN32) && !defined(_WIN32_WCE) |
16 | |
17 | #elif defined(_WIN32) && defined(_WIN32_WCE) && defined(ARM) |
18 | |
19 | #elif defined(_WIN32) && defined(WINCE_EMULATOR) |
20 | |
21 | #elif defined(ARM_ADS) |
22 | |
23 | #elif defined(_SYMBIAN) && defined(__WINS__) |
24 | |
25 | #elif defined(__GNUC__) && defined(ARM) |
26 | |
27 | #elif defined(__GNUC__) && defined(__i386__) |
28 | |
29 | #elif defined(_OPENWAVE) |
30 | |
31 | #elif defined(_ARC32) |
32 | |
33 | #else |
34 | #error No platform defined. See valid options in gecko2codec.h. |
35 | #endif |
36 | |
37 | #ifdef __cplusplus |
38 | extern "C" { |
39 | #endif |
40 | |
41 | typedef void *HGecko2Decoder; |
42 | |
43 | enum { |
44 | ERR_GECKO2_NONE = 0, |
45 | ERR_GECKO2_INVALID_SIDEINFO = -1, |
46 | |
47 | ERR_UNKNOWN = -9999 |
48 | }; |
49 | |
50 | /* public API */ |
51 | HGecko2Decoder Gecko2InitDecoder(int nSamples, int nChannels, int nRegions, int nFrameBits, int sampRate, int cplStart, int cplQbits, int *codingDelay); |
52 | void Gecko2FreeDecoder(HGecko2Decoder hGecko2Decoder); |
53 | int Gecko2Decode(HGecko2Decoder hGecko2Decoder, unsigned char *codebuf, int lostflag, short *outbuf, unsigned timestamp); |
54 | |
55 | #ifdef __cplusplus |
56 | } |
57 | #endif |
58 | |
59 | #endif /* _GECKO2CODEC_H */ |
60 | |
61 |