summaryrefslogtreecommitdiff
path: root/uisimulator/sdl
diff options
context:
space:
mode:
authorDan Everton <dan@iocaine.org>2009-06-17 07:55:50 +0000
committerDan Everton <dan@iocaine.org>2009-06-17 07:55:50 +0000
commit72c65d7575cdf9277a27a5baf18eb013c629d223 (patch)
treea5d1a0cec4ff0f0d586a4a80927d1075486452bd /uisimulator/sdl
parentf2a8dd3ce554ba900273c450ea645630efe2bbcb (diff)
Commit FS#10324 from Jeffrey Goode.
Close the debug audio stream in the simulator when playback is stopped to allow the file to be opened by other programs. This would mostly have been an issue on Windows. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21315 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/sdl')
-rw-r--r--uisimulator/sdl/sound.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/uisimulator/sdl/sound.c b/uisimulator/sdl/sound.c
index 39abc85aca..428983a1b8 100644
--- a/uisimulator/sdl/sound.c
+++ b/uisimulator/sdl/sound.c
@@ -96,6 +96,11 @@ void pcm_play_dma_start(const void *addr, size_t size)
void pcm_play_dma_stop(void)
{
SDL_PauseAudio(1);
+ if (udata.debug != NULL) {
+ fclose(udata.debug);
+ udata.debug = NULL;
+ DEBUGF("Audio debug file closed\n");
+ }
}
void pcm_play_dma_pause(bool pause)
@@ -113,6 +118,11 @@ size_t pcm_get_bytes_waiting(void)
extern int sim_volume; /* in firmware/sound.c */
void write_to_soundcard(struct pcm_udata *udata) {
+ if (debug_audio && (udata->debug == NULL)) {
+ udata->debug = fopen("audiodebug.raw", "ab");
+ DEBUGF("Audio debug file open\n");
+ }
+
if (cvt.needed) {
Uint32 rd = udata->num_in;
Uint32 wr = (double)rd * cvt.len_ratio;
@@ -292,8 +302,9 @@ void pcm_play_dma_init(void)
if (debug_audio) {
udata.debug = fopen("audiodebug.raw", "wb");
+ DEBUGF("Audio debug file open\n");
}
-
+
/* Set 16-bit stereo audio at 44Khz */
wanted_spec.freq = 44100;
wanted_spec.format = AUDIO_S16SYS;