Simulator: two codecs may be loaded at same time if voice is enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10130 a1c6a512-1295-4272-9138-f99709370657
diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c
index 9115ef2..e3ebe88 100644
--- a/uisimulator/common/io.c
+++ b/uisimulator/common/io.c
@@ -307,13 +307,16 @@
#include <dlfcn.h>
#endif
+#define TEMP_CODEC_FILE "archos/_temp_codec%d.dll"
+
void *sim_codec_load_ram(char* codecptr, int size,
void* ptr2, int bufwrap, void **pd)
{
void *hdr;
- const char *path = "archos/_temp_codec.dll";
+ char path[MAX_PATH];
int fd;
int copy_n;
+ static int codec_count = 0;
#ifdef WIN32
char buf[256];
#endif
@@ -323,6 +326,12 @@
/* We have to create the dynamic link library file from ram
so we could simulate the codec loading. */
+ sprintf(path, TEMP_CODEC_FILE, codec_count);
+
+ /* if voice is enabled, two codecs may be loaded at same time */
+ if (!codec_count)
+ codec_count++;
+
#ifdef WIN32
fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, S_IRWXU);
#else