Mercurial > almixer_isolated
comparison Isolated/SoundDecoder.h @ 56:208a9ed20087
Added explicit symbol visibility markers to audio support files in ALmixer for public headers so they can be built as a dynamic library if needed.
author | Eric Wing <ewing@anscamobile.com> |
---|---|
date | Tue, 29 May 2012 19:43:23 -0700 |
parents | 71b465ff0622 |
children | be97ae4f30c0 |
comparison
equal
deleted
inserted
replaced
55:8b4f80233969 | 56:208a9ed20087 |
---|---|
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
11 extern "C" { | 11 extern "C" { |
12 #endif | 12 #endif |
13 | 13 |
14 | 14 #if defined(_WIN32) |
15 #if defined(SOUND_DECODER_BUILD_LIBRARY) | |
16 #define SOUND_DECODER_DECLSPEC __declspec(dllexport) | |
17 #else | |
18 #define SOUND_DECODER_DECLSPEC __declspec(dllimport) | |
19 #endif | |
20 #else | |
21 #if defined(SOUND_DECODER_BUILD_LIBRARY) | |
22 #if defined (__GNUC__) && __GNUC__ >= 4 | |
23 #define SOUND_DECODER_DECLSPEC __attribute__((visibility("default"))) | |
24 #else | |
25 #define SOUND_DECODER_DECLSPEC | |
26 #endif | |
27 #else | |
28 #define SOUND_DECODER_DECLSPEC | |
29 #endif | |
30 #endif | |
31 | |
32 #if defined(_WIN32) | |
33 #define SOUND_DECODER_CALL __cdecl | |
34 #else | |
35 #define SOUND_DECODER_CALL | |
36 #endif | |
37 | |
15 #include <stdint.h> | 38 #include <stdint.h> |
16 #include <stddef.h> | 39 #include <stddef.h> |
17 | 40 |
18 #include "al.h" /* OpenAL */ | 41 #include "al.h" /* OpenAL */ |
19 | 42 |
130 (x)->patch = SOUNDDECODER_VER_PATCH; \ | 153 (x)->patch = SOUNDDECODER_VER_PATCH; \ |
131 } | 154 } |
132 | 155 |
133 #define SOUND_VERSION SOUNDDECODER_VERSION | 156 #define SOUND_VERSION SOUNDDECODER_VERSION |
134 | 157 |
135 void SoundDecoder_GetLinkedVersion(SoundDecoder_Version *ver); | 158 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_GetLinkedVersion(SoundDecoder_Version *ver); |
136 #define Sound_GetLinkedVersion SoundDecoder_GetLinkedVersion | 159 #define Sound_GetLinkedVersion SoundDecoder_GetLinkedVersion |
137 | 160 |
138 int SoundDecoder_Init(void); | 161 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Init(void); |
139 #define Sound_Init SoundDecoder_Init | 162 #define Sound_Init SoundDecoder_Init |
140 | 163 |
141 void SoundDecoder_Quit(void); | 164 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_Quit(void); |
142 #define Sound_Quit SoundDecoder_Quit | 165 #define Sound_Quit SoundDecoder_Quit |
143 | 166 |
144 | 167 |
145 const SoundDecoder_DecoderInfo** SoundDecoder_AvailableDecoders(void); | 168 extern SOUND_DECODER_DECLSPEC const SOUND_DECODER_CALL SoundDecoder_DecoderInfo** SoundDecoder_AvailableDecoders(void); |
146 #define Sound_AvailableDecoders SoundDecoder_AvailableDecoders | 169 #define Sound_AvailableDecoders SoundDecoder_AvailableDecoders |
147 | 170 |
148 | 171 |
149 const char* SoundDecoder_GetError(void); | 172 extern SOUND_DECODER_DECLSPEC const char* SOUND_DECODER_CALL SoundDecoder_GetError(void); |
150 #define Sound_GetError SoundDecoder_GetError | 173 #define Sound_GetError SoundDecoder_GetError |
151 | 174 |
152 | 175 |
153 void SoundDecoder_ClearError(void); | 176 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_ClearError(void); |
154 #define Sound_ClearError SoundDecoder_ClearError | 177 #define Sound_ClearError SoundDecoder_ClearError |
155 | 178 |
156 | 179 |
157 | 180 |
158 SoundDecoder_Sample* SoundDecoder_NewSample( | 181 extern SOUND_DECODER_DECLSPEC SoundDecoder_Sample* SOUND_DECODER_CALL SoundDecoder_NewSample( |
159 struct ALmixer_RWops* rw_ops, | 182 struct ALmixer_RWops* rw_ops, |
160 const char* ext, | 183 const char* ext, |
161 SoundDecoder_AudioInfo* desired, | 184 SoundDecoder_AudioInfo* desired, |
162 size_t buffer_size); | 185 size_t buffer_size); |
163 #define Sound_NewSample SoundDecoder_NewSample | 186 #define Sound_NewSample SoundDecoder_NewSample |
164 | 187 |
165 SoundDecoder_Sample* SoundDecoder_NewSampleFromFile(const char* file_name, | 188 extern SOUND_DECODER_DECLSPEC SoundDecoder_Sample* SOUND_DECODER_CALL SoundDecoder_NewSampleFromFile(const char* file_name, |
166 SoundDecoder_AudioInfo* desired, | 189 SoundDecoder_AudioInfo* desired, |
167 size_t bufferSize); | 190 size_t bufferSize); |
168 #define Sound_NewSampleFromFile SoundDecoder_NewSampleFromFile | 191 #define Sound_NewSampleFromFile SoundDecoder_NewSampleFromFile |
169 | 192 |
170 | 193 |
171 void SoundDecoder_FreeSample(SoundDecoder_Sample* sound_sample); | 194 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_FreeSample(SoundDecoder_Sample* sound_sample); |
172 #define Sound_FreeSample SoundDecoder_FreeSample | 195 #define Sound_FreeSample SoundDecoder_FreeSample |
173 | 196 |
174 | 197 |
175 ptrdiff_t SoundDecoder_GetDuration(SoundDecoder_Sample* sound_sample); | 198 extern SOUND_DECODER_DECLSPEC ptrdiff_t SOUND_DECODER_CALL SoundDecoder_GetDuration(SoundDecoder_Sample* sound_sample); |
176 #define Sound_GetDuration SoundDecoder_GetDuration | 199 #define Sound_GetDuration SoundDecoder_GetDuration |
177 | 200 |
178 int SoundDecoder_SetBufferSize(SoundDecoder_Sample* sound_sample, size_t new_buffer_size); | 201 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_SetBufferSize(SoundDecoder_Sample* sound_sample, size_t new_buffer_size); |
179 #define Sound_SetBufferSize SoundDecoder_SetBufferSize | 202 #define Sound_SetBufferSize SoundDecoder_SetBufferSize |
180 | 203 |
181 size_t SoundDecoder_Decode(SoundDecoder_Sample* sound_sample); | 204 extern SOUND_DECODER_DECLSPEC size_t SOUND_DECODER_CALL SoundDecoder_Decode(SoundDecoder_Sample* sound_sample); |
182 #define Sound_Decode SoundDecoder_Decode | 205 #define Sound_Decode SoundDecoder_Decode |
183 | 206 |
184 size_t SoundDecoder_DecodeAll(SoundDecoder_Sample* sound_sample); | 207 extern SOUND_DECODER_DECLSPEC size_t SOUND_DECODER_CALL SoundDecoder_DecodeAll(SoundDecoder_Sample* sound_sample); |
185 #define Sound_DecodeAll SoundDecoder_DecodeAll | 208 #define Sound_DecodeAll SoundDecoder_DecodeAll |
186 | 209 |
187 int SoundDecoder_Rewind(SoundDecoder_Sample* sound_sample); | 210 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Rewind(SoundDecoder_Sample* sound_sample); |
188 #define Sound_Rewind SoundDecoder_Rewind | 211 #define Sound_Rewind SoundDecoder_Rewind |
189 | 212 |
190 int SoundDecoder_Seek(SoundDecoder_Sample* sound_sample, size_t ms); | 213 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Seek(SoundDecoder_Sample* sound_sample, size_t ms); |
191 #define Sound_Seek SoundDecoder_Seek | 214 #define Sound_Seek SoundDecoder_Seek |
192 | 215 |
193 | 216 |
194 /* Ends C function definitions when using C++ */ | 217 /* Ends C function definitions when using C++ */ |
195 #ifdef __cplusplus | 218 #ifdef __cplusplus |