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