diff options
author | Bertrik Sikken <bertrik@sikken.nl> | 2010-08-23 20:09:58 +0000 |
---|---|---|
committer | Bertrik Sikken <bertrik@sikken.nl> | 2010-08-23 20:09:58 +0000 |
commit | e70bc182cf86799e1e5fdc5ca7a29b74a860d864 (patch) | |
tree | 63af7fa2d41156e5feecf6d8ff3e45848060a822 | |
parent | 8d5f159687b6abf3b5ad6b1681701a1b80423d92 (diff) | |
download | rockbox-e70bc182cf86799e1e5fdc5ca7a29b74a860d864.tar.gz rockbox-e70bc182cf86799e1e5fdc5ca7a29b74a860d864.zip |
Reinitialise ogg_malloc system on each track change with the vorbis codec - part of FS #11533 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27866 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/codecs/vorbis.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/apps/codecs/vorbis.c b/apps/codecs/vorbis.c index 831021fe70..7435434721 100644 --- a/apps/codecs/vorbis.c +++ b/apps/codecs/vorbis.c | |||
@@ -127,8 +127,6 @@ enum codec_status codec_main(void) | |||
127 | goto exit; | 127 | goto exit; |
128 | } | 128 | } |
129 | 129 | ||
130 | ogg_malloc_init(); | ||
131 | |||
132 | #if defined(CPU_ARM) || defined(CPU_COLDFIRE) || defined(CPU_MIPS) | 130 | #if defined(CPU_ARM) || defined(CPU_COLDFIRE) || defined(CPU_MIPS) |
133 | if (setjmp(rb_jump_buf) != 0) { | 131 | if (setjmp(rb_jump_buf) != 0) { |
134 | /* malloc failed; skip to next track */ | 132 | /* malloc failed; skip to next track */ |
@@ -138,6 +136,8 @@ enum codec_status codec_main(void) | |||
138 | #endif | 136 | #endif |
139 | 137 | ||
140 | next_track: | 138 | next_track: |
139 | ogg_malloc_init(); | ||
140 | |||
141 | while (!*ci->taginfo_ready && !ci->stop_codec) | 141 | while (!*ci->taginfo_ready && !ci->stop_codec) |
142 | ci->sleep(1); | 142 | ci->sleep(1); |
143 | 143 | ||
@@ -244,6 +244,7 @@ done: | |||
244 | DEBUGF("Vorbis: Memory max: %u\n", get_max_size(buf)); | 244 | DEBUGF("Vorbis: Memory max: %u\n", get_max_size(buf)); |
245 | } | 245 | } |
246 | #endif | 246 | #endif |
247 | ogg_malloc_destroy(); | ||
247 | 248 | ||
248 | if (ci->request_next_track()) { | 249 | if (ci->request_next_track()) { |
249 | /* Clean things up for the next track */ | 250 | /* Clean things up for the next track */ |
@@ -256,6 +257,5 @@ done: | |||
256 | } | 257 | } |
257 | 258 | ||
258 | exit: | 259 | exit: |
259 | ogg_malloc_destroy(); | ||
260 | return error; | 260 | return error; |
261 | } | 261 | } |