Mercurial > sdl-ios-xcode
annotate src/audio/SDL_audio_c.h @ 5108:d547877e355e
Colin Leroy 2011-01-26 04:24:20 PST
the pthread implementation of SDL_SemWaitTimeout() uses busy waiting, while
pthread's sem_timedwait() does work. Attached are patches that make use of it
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 27 Jan 2011 00:34:12 -0800 |
parents | f7b03b6838cb |
children | b530ef003506 |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
3697 | 3 Copyright (C) 1997-2010 Sam Lantinga |
0 | 4 |
5 This library is free software; you can redistribute it and/or | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
0 | 7 License as published by the Free Software Foundation; either |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
0 | 9 |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
13 Lesser General Public License for more details. |
0 | 14 |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 18 |
19 Sam Lantinga | |
252
e8157fcb3114
Updated the source with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
20 slouken@libsdl.org |
0 | 21 */ |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1312
diff
changeset
|
22 #include "SDL_config.h" |
0 | 23 |
24 /* Functions and variables exported from SDL_audio.c for SDL_sysaudio.c */ | |
25 | |
26 /* Functions to get a list of "close" audio formats */ | |
1982
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
27 extern SDL_AudioFormat SDL_FirstAudioFormat(SDL_AudioFormat format); |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
28 extern SDL_AudioFormat SDL_NextAudioFormat(void); |
0 | 29 |
30 /* Function to calculate the size and silence for a SDL_AudioSpec */ | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1769
diff
changeset
|
31 extern void SDL_CalculateAudioSpec(SDL_AudioSpec * spec); |
0 | 32 |
33 /* The actual mixing thread function */ | |
1769 | 34 extern int SDLCALL SDL_RunAudio(void *audiop); |
1982
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
35 |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
36 /* this is used internally to access some autogenerated code. */ |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
37 typedef struct |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
38 { |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
39 SDL_AudioFormat src_fmt; |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
40 SDL_AudioFormat dst_fmt; |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
41 SDL_AudioFilter filter; |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
42 } SDL_AudioTypeFilters; |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
43 extern const SDL_AudioTypeFilters sdl_audio_type_filters[]; |
3b4ce57c6215
First shot at new audio data types (int32 and float32).
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
44 |
3021
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
45 /* this is used internally to access some autogenerated code. */ |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
46 typedef struct |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
47 { |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
48 SDL_AudioFormat fmt; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
49 int channels; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
50 int upsample; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
51 int multiple; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
52 SDL_AudioFilter filter; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
53 } SDL_AudioRateFilters; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
54 extern const SDL_AudioRateFilters sdl_audio_rate_filters[]; |
f3dcf04412cf
First shot at new audio resampling code.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
55 |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1769
diff
changeset
|
56 /* vi: set ts=4 sw=4 expandtab: */ |