Codebase list faad2 / cec452c
changed VISIBLE macro back to NEAACDECAPI and specify visibility attribute for gcc, and nothing for Visual Studio (continuing using the .def file); also removed CDECL, as everything is wrapped in a extern "C" {} scope Michael Fink 6 years ago
3 changed file(s) with 38 addition(s) and 42 deletion(s). Raw diff Collapse all Expand all
5959
6060 #ifdef _WIN32
6161 #pragma pack(push, 8)
62 #ifndef CDECL
63 #define CDECL __cdecl
64 #endif
65 #define VISIBLE __declspec( dllexport )
62 #define NEAACDECAPI
6663 #elif defined(__GNUC__) && __GNUC__ >= 4
67 #define CDECL
68 #define VISIBLE __attribute__((visibility("default")))
64 #define NEAACDECAPI __attribute__((visibility("default")))
6965 #else
70 #define CDECL
71 #define VISIBLE
66 #define NEAACDECAPI
7267 #endif
7368
7469 #define FAAD2_VERSION "unknown"
200195 unsigned char ps;
201196 } NeAACDecFrameInfo;
202197
203 VISIBLE char* CDECL NeAACDecGetErrorMessage(unsigned char errcode);
204
205 VISIBLE unsigned long CDECL NeAACDecGetCapabilities(void);
206
207 VISIBLE NeAACDecHandle CDECL NeAACDecOpen(void);
208
209 VISIBLE NeAACDecConfigurationPtr CDECL NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
210
211 VISIBLE unsigned char CDECL NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
198 NEAACDECAPI char* NeAACDecGetErrorMessage(unsigned char errcode);
199
200 NEAACDECAPI unsigned long NeAACDecGetCapabilities(void);
201
202 NEAACDECAPI NeAACDecHandle NeAACDecOpen(void);
203
204 NEAACDECAPI NeAACDecConfigurationPtr NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
205
206 NEAACDECAPI unsigned char NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
212207 NeAACDecConfigurationPtr config);
213208
214209 /* Init the library based on info from the AAC file (ADTS/ADIF) */
215 VISIBLE long CDECL NeAACDecInit(NeAACDecHandle hDecoder,
210 NEAACDECAPI long NeAACDecInit(NeAACDecHandle hDecoder,
216211 unsigned char *buffer,
217212 unsigned long buffer_size,
218213 unsigned long *samplerate,
219214 unsigned char *channels);
220215
221216 /* Init the library using a DecoderSpecificInfo */
222 VISIBLE char CDECL NeAACDecInit2(NeAACDecHandle hDecoder,
217 NEAACDECAPI char NeAACDecInit2(NeAACDecHandle hDecoder,
223218 unsigned char *pBuffer,
224219 unsigned long SizeOfDecoderSpecificInfo,
225220 unsigned long *samplerate,
226221 unsigned char *channels);
227222
228223 /* Init the library for DRM */
229 VISIBLE char CDECL NeAACDecInitDRM(NeAACDecHandle *hDecoder, unsigned long samplerate,
224 NEAACDECAPI char NeAACDecInitDRM(NeAACDecHandle *hDecoder, unsigned long samplerate,
230225 unsigned char channels);
231226
232 VISIBLE void CDECL NeAACDecPostSeekReset(NeAACDecHandle hDecoder, long frame);
233
234 VISIBLE void CDECL NeAACDecClose(NeAACDecHandle hDecoder);
235
236 VISIBLE void* CDECL NeAACDecDecode(NeAACDecHandle hDecoder,
227 NEAACDECAPI void NeAACDecPostSeekReset(NeAACDecHandle hDecoder, long frame);
228
229 NEAACDECAPI void NeAACDecClose(NeAACDecHandle hDecoder);
230
231 NEAACDECAPI void* NeAACDecDecode(NeAACDecHandle hDecoder,
237232 NeAACDecFrameInfo *hInfo,
238233 unsigned char *buffer,
239234 unsigned long buffer_size);
240235
241 VISIBLE void* CDECL NeAACDecDecode2(NeAACDecHandle hDecoder,
236 NEAACDECAPI void* NeAACDecDecode2(NeAACDecHandle hDecoder,
242237 NeAACDecFrameInfo *hInfo,
243238 unsigned char *buffer,
244239 unsigned long buffer_size,
245240 void **sample_buffer,
246241 unsigned long sample_buffer_size);
247242
248 VISIBLE char CDECL NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
243 NEAACDECAPI char NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
249244 unsigned long buffer_size,
250245 mp4AudioSpecificConfig *mp4ASC);
251246
252247 /* Get version and copyright strings */
253 VISIBLE int CDECL NeAACDecGetVersion(char **faad_id_string,
248 NEAACDECAPI int NeAACDecGetVersion(char **faad_id_string,
254249 char **faad_copyright_string);
255250
256251 #ifdef _WIN32
6363 NeAACDecFrameInfo *hInfo);
6464
6565
66 VISIBLE int CDECL NeAACDecGetVersion(char **faad_id_string,
66 int NeAACDecGetVersion(char **faad_id_string,
6767 char **faad_copyright_string)
6868 {
6969 static char *libfaadName = PACKAGE_VERSION;
8080
8181 return 0;
8282 }
83 VISIBLE char* CDECL NeAACDecGetErrorMessage(unsigned char errcode)
83
84 char* NeAACDecGetErrorMessage(unsigned char errcode)
8485 {
8586 if (errcode >= NUM_ERROR_MESSAGES)
8687 return NULL;
8788 return err_msg[errcode];
8889 }
8990
90 VISIBLE unsigned long CDECL NeAACDecGetCapabilities(void)
91 unsigned long NeAACDecGetCapabilities(void)
9192 {
9293 uint32_t cap = 0;
9394
114115 }
115116
116117 const unsigned char mes[] = { 0x67,0x20,0x61,0x20,0x20,0x20,0x6f,0x20,0x72,0x20,0x65,0x20,0x6e,0x20,0x20,0x20,0x74,0x20,0x68,0x20,0x67,0x20,0x69,0x20,0x72,0x20,0x79,0x20,0x70,0x20,0x6f,0x20,0x63 };
117 VISIBLE NeAACDecHandle CDECL NeAACDecOpen(void)
118 NeAACDecHandle NeAACDecOpen(void)
118119 {
119120 uint8_t i;
120121 NeAACDecStruct *hDecoder = NULL;
175176 return hDecoder;
176177 }
177178
178 VISIBLE NeAACDecConfigurationPtr CDECL NeAACDecGetCurrentConfiguration(NeAACDecHandle hpDecoder)
179 NeAACDecConfigurationPtr NeAACDecGetCurrentConfiguration(NeAACDecHandle hpDecoder)
179180 {
180181 NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
181182 if (hDecoder)
188189 return NULL;
189190 }
190191
191 VISIBLE unsigned char CDECL NeAACDecSetConfiguration(NeAACDecHandle hpDecoder,
192 unsigned char NeAACDecSetConfiguration(NeAACDecHandle hpDecoder,
192193 NeAACDecConfigurationPtr config)
193194 {
194195 NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
251252 }
252253
253254
254 VISIBLE long CDECL NeAACDecInit(NeAACDecHandle hpDecoder,
255 long NeAACDecInit(NeAACDecHandle hpDecoder,
255256 unsigned char *buffer,
256257 unsigned long buffer_size,
257258 unsigned long *samplerate,
385386 }
386387
387388 /* Init the library using a DecoderSpecificInfo */
388 VISIBLE char CDECL NeAACDecInit2(NeAACDecHandle hpDecoder,
389 char NeAACDecInit2(NeAACDecHandle hpDecoder,
389390 unsigned char *pBuffer,
390391 unsigned long SizeOfDecoderSpecificInfo,
391392 unsigned long *samplerate,
479480 }
480481
481482 #ifdef DRM
482 VISIBLE char CDECL NeAACDecInitDRM(NeAACDecHandle *hpDecoder,
483 char NeAACDecInitDRM(NeAACDecHandle *hpDecoder,
483484 unsigned long samplerate,
484485 unsigned char channels)
485486 {
522523 }
523524 #endif
524525
525 VISIBLE void CDECL NeAACDecClose(NeAACDecHandle hpDecoder)
526 void NeAACDecClose(NeAACDecHandle hpDecoder)
526527 {
527528 uint8_t i;
528529 NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
576577 if (hDecoder) faad_free(hDecoder);
577578 }
578579
579 VISIBLE void CDECL NeAACDecPostSeekReset(NeAACDecHandle hpDecoder, long frame)
580 void NeAACDecPostSeekReset(NeAACDecHandle hpDecoder, long frame)
580581 {
581582 NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
582583 if (hDecoder)
806807 }
807808 }
808809
809 VISIBLE void* CDECL NeAACDecDecode(NeAACDecHandle hpDecoder,
810 void* NeAACDecDecode(NeAACDecHandle hpDecoder,
810811 NeAACDecFrameInfo *hInfo,
811812 unsigned char *buffer,
812813 unsigned long buffer_size)
815816 return aac_frame_decode(hDecoder, hInfo, buffer, buffer_size, NULL, 0);
816817 }
817818
818 VISIBLE void* CDECL NeAACDecDecode2(NeAACDecHandle hpDecoder,
819 void* NeAACDecDecode2(NeAACDecHandle hpDecoder,
819820 NeAACDecFrameInfo *hInfo,
820821 unsigned char *buffer,
821822 unsigned long buffer_size,
113113 };
114114
115115 /* Table 1.6.1 */
116 VISIBLE char CDECL NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
116 char NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
117117 unsigned long buffer_size,
118118 mp4AudioSpecificConfig *mp4ASC)
119119 {