notaz.gp2x.de
/
gpsp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add copyright message to gles_video
[gpsp.git]
/
sound.c
diff --git
a/sound.c
b/sound.c
index
9b21e6c
..
81f1fa6
100644
(file)
--- a/
sound.c
+++ b/
sound.c
@@
-25,13
+25,19
@@
u32 global_enable_audio = 1;
direct_sound_struct direct_sound_channel[2];
gbc_sound_struct gbc_sound_channel[4];
direct_sound_struct direct_sound_channel[2];
gbc_sound_struct gbc_sound_channel[4];
+#ifdef RPI_BUILD
+u32 sound_frequency = 22050;
+#else
u32 sound_frequency = 44100;
u32 sound_frequency = 44100;
+#endif
SDL_mutex *sound_mutex;
static SDL_cond *sound_cv;
#ifdef PSP_BUILD
u32 audio_buffer_size_number = 1;
SDL_mutex *sound_mutex;
static SDL_cond *sound_cv;
#ifdef PSP_BUILD
u32 audio_buffer_size_number = 1;
+#elif defined(POLLUX_BUILD)
+u32 audio_buffer_size_number = 7;
#else
u32 audio_buffer_size_number = 8;
#endif
#else
u32 audio_buffer_size_number = 8;
#endif
@@
-734,12
+740,18
@@
void sound_exit()
sound_exit_flag = 1;
SDL_CondSignal(sound_cv);
SDL_CloseAudio();
sound_exit_flag = 1;
SDL_CondSignal(sound_cv);
SDL_CloseAudio();
+ SDL_Delay(200);
+ SDL_DestroyMutex(sound_mutex);
+ sound_mutex = NULL;
+ SDL_DestroyCond(sound_cv);
+ sound_cv = NULL;
}
}
-void init_sound()
+void init_sound(
int need_reset
)
{
SDL_AudioSpec sound_settings;
{
SDL_AudioSpec sound_settings;
+ sound_exit_flag = 0;
#ifdef PSP_BUILD
audio_buffer_size = (audio_buffer_size_number * 1024) + 3072;
#else
#ifdef PSP_BUILD
audio_buffer_size = (audio_buffer_size_number * 1024) + 3072;
#else
@@
-779,7
+791,8
@@
void init_sound()
init_noise_table(noise_table15, 32767, 14);
init_noise_table(noise_table7, 127, 6);
init_noise_table(noise_table15, 32767, 14);
init_noise_table(noise_table7, 127, 6);
- reset_sound();
+ if (need_reset)
+ reset_sound();
SDL_PauseAudio(0);
}
SDL_PauseAudio(0);
}