Mercurial > sdl-ios-xcode
comparison src/audio/baudio/SDL_beaudio.cc @ 2060:866052b01ee5
indent is evil
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 28 Oct 2006 16:48:03 +0000 |
parents | 5f6550e5184f |
children | 99210400e8b9 |
comparison
equal
deleted
inserted
replaced
2059:4685ccd33d0e | 2060:866052b01ee5 |
---|---|
56 | 56 |
57 if (!audio->paused) { | 57 if (!audio->paused) { |
58 if (audio->convert.needed) { | 58 if (audio->convert.needed) { |
59 SDL_mutexP(audio->mixer_lock); | 59 SDL_mutexP(audio->mixer_lock); |
60 (*audio->spec.callback) (audio->spec.userdata, | 60 (*audio->spec.callback) (audio->spec.userdata, |
61 (Uint8 *) audio->convert.buf, | 61 (Uint8 *) audio->convert.buf, |
62 audio->convert.len); | 62 audio->convert.len); |
63 SDL_mutexV(audio->mixer_lock); | 63 SDL_mutexV(audio->mixer_lock); |
64 SDL_ConvertAudio(&audio->convert); | 64 SDL_ConvertAudio(&audio->convert); |
65 SDL_memcpy(stream, audio->convert.buf, audio->convert.len_cvt); | 65 SDL_memcpy(stream, audio->convert.buf, audio->convert.len_cvt); |
66 } else { | 66 } else { |
67 SDL_mutexP(audio->mixer_lock); | 67 SDL_mutexP(audio->mixer_lock); |
68 (*audio->spec.callback) (audio->spec.userdata, | 68 (*audio->spec.callback) (audio->spec.userdata, |
69 (Uint8 *) stream, len); | 69 (Uint8 *) stream, len); |
70 SDL_mutexV(audio->mixer_lock); | 70 SDL_mutexV(audio->mixer_lock); |
71 } | 71 } |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
104 | 104 |
105 /* Parse the audio format and fill the Be raw audio format */ | 105 /* Parse the audio format and fill the Be raw audio format */ |
106 SDL_memset(&format, '\0', sizeof(media_raw_audio_format)); | 106 SDL_memset(&format, '\0', sizeof(media_raw_audio_format)); |
107 format.byte_order = B_MEDIA_LITTLE_ENDIAN; | 107 format.byte_order = B_MEDIA_LITTLE_ENDIAN; |
108 format.frame_rate = (float) _this->spec.freq; | 108 format.frame_rate = (float) _this->spec.freq; |
109 format.channel_count = _this->spec.channels; /* !!! FIXME: support > 2? */ | 109 format.channel_count = _this->spec.channels; /* !!! FIXME: support > 2? */ |
110 while ((!valid_datatype) && (test_format)) { | 110 while ((!valid_datatype) && (test_format)) { |
111 valid_datatype = 1; | 111 valid_datatype = 1; |
112 _this->spec.format = test_format; | 112 _this->spec.format = test_format; |
113 switch (test_format) { | 113 switch (test_format) { |
114 case AUDIO_S8: | 114 case AUDIO_S8: |
115 format.format = media_raw_audio_format::B_AUDIO_CHAR; | 115 format.format = media_raw_audio_format::B_AUDIO_CHAR; |
116 break; | 116 break; |
117 | 117 |
118 case AUDIO_U8: | 118 case AUDIO_U8: |
119 format.format = media_raw_audio_format::B_AUDIO_UCHAR; | 119 format.format = media_raw_audio_format::B_AUDIO_UCHAR; |
120 break; | 120 break; |
121 | 121 |
122 case AUDIO_S16LSB: | 122 case AUDIO_S16LSB: |
123 format.format = media_raw_audio_format::B_AUDIO_SHORT; | 123 format.format = media_raw_audio_format::B_AUDIO_SHORT; |
124 break; | 124 break; |
125 | 125 |
126 case AUDIO_S16MSB: | 126 case AUDIO_S16MSB: |
127 format.format = media_raw_audio_format::B_AUDIO_SHORT; | 127 format.format = media_raw_audio_format::B_AUDIO_SHORT; |
128 format.byte_order = B_MEDIA_BIG_ENDIAN; | 128 format.byte_order = B_MEDIA_BIG_ENDIAN; |
129 break; | 129 break; |
130 | 130 |
131 case AUDIO_S32LSB: | 131 case AUDIO_S32LSB: |
132 format.format = media_raw_audio_format::B_AUDIO_INT; | 132 format.format = media_raw_audio_format::B_AUDIO_INT; |
133 break; | 133 break; |
134 | 134 |
135 case AUDIO_S32MSB: | 135 case AUDIO_S32MSB: |
136 format.format = media_raw_audio_format::B_AUDIO_INT; | 136 format.format = media_raw_audio_format::B_AUDIO_INT; |
137 format.byte_order = B_MEDIA_BIG_ENDIAN; | 137 format.byte_order = B_MEDIA_BIG_ENDIAN; |
138 break; | 138 break; |
139 | 139 |
140 case AUDIO_F32LSB: | 140 case AUDIO_F32LSB: |
141 format.format = media_raw_audio_format::B_AUDIO_FLOAT; | 141 format.format = media_raw_audio_format::B_AUDIO_FLOAT; |
142 break; | 142 break; |
143 | 143 |
144 case AUDIO_F32MSB: | 144 case AUDIO_F32MSB: |
145 format.format = media_raw_audio_format::B_AUDIO_FLOAT; | 145 format.format = media_raw_audio_format::B_AUDIO_FLOAT; |
146 format.byte_order = B_MEDIA_BIG_ENDIAN; | 146 format.byte_order = B_MEDIA_BIG_ENDIAN; |
147 break; | 147 break; |
148 | 148 |
149 default: | 149 default: |
150 valid_datatype = 0; | 150 valid_datatype = 0; |
151 test_format = SDL_NextAudioFormat(); | 151 test_format = SDL_NextAudioFormat(); |
152 break; | 152 break; |
153 } | 153 } |
154 } | 154 } |
155 | 155 |
156 format.buffer_size = _this->spec.samples; | 156 format.buffer_size = _this->spec.samples; |
157 | 157 |
158 if (!valid_datatype) { /* shouldn't happen, but just in case... */ | 158 if (!valid_datatype) { /* shouldn't happen, but just in case... */ |
159 BEOSAUDIO_CloseDevice(_this); | 159 BEOSAUDIO_CloseDevice(_this); |
160 SDL_SetError("Unsupported audio format"); | 160 SDL_SetError("Unsupported audio format"); |
161 return 0; | 161 return 0; |
162 } | 162 } |
163 | 163 |
188 { | 188 { |
189 SDL_QuitBeApp(); | 189 SDL_QuitBeApp(); |
190 } | 190 } |
191 | 191 |
192 static int | 192 static int |
193 BEOSAUDIO_Init(SDL_AudioDriverImpl *impl) | 193 BEOSAUDIO_Init(SDL_AudioDriverImpl * impl) |
194 { | 194 { |
195 /* Initialize the Be Application, if it's not already started */ | 195 /* Initialize the Be Application, if it's not already started */ |
196 if (SDL_InitBeApp() < 0) { | 196 if (SDL_InitBeApp() < 0) { |
197 return 0; | 197 return 0; |
198 } | 198 } |
205 impl->OnlyHasDefaultOutputDevice = 1; | 205 impl->OnlyHasDefaultOutputDevice = 1; |
206 | 206 |
207 return 1; | 207 return 1; |
208 } | 208 } |
209 | 209 |
210 extern "C" { extern AudioBootStrap BEOSAUDIO_bootstrap; } | 210 extern "C" |
211 { | |
212 extern AudioBootStrap BEOSAUDIO_bootstrap; | |
213 } | |
211 AudioBootStrap BEOSAUDIO_bootstrap = { | 214 AudioBootStrap BEOSAUDIO_bootstrap = { |
212 "baudio", "BeOS BSoundPlayer", BEOSAUDIO_Init, 0 | 215 "baudio", "BeOS BSoundPlayer", BEOSAUDIO_Init, 0 |
213 }; | 216 }; |
214 | 217 |
215 /* vi: set ts=4 sw=4 expandtab: */ | 218 /* vi: set ts=4 sw=4 expandtab: */ |
216 |