Index: applications/mp4box/main.c
===================================================================
RCS file: /cvsroot/gpac/gpac/applications/mp4box/main.c,v
retrieving revision 1.98
diff -u -r1.98 main.c
--- applications/mp4box/main.c	18 May 2009 08:03:41 -0000	1.98
+++ applications/mp4box/main.c	19 May 2009 07:41:52 -0000
@@ -88,7 +88,7 @@
 	{GF_ISOM_ITUNE_COMMENT, "comment", "usage: comment=any comment"},
 	{GF_ISOM_ITUNE_COMPILATION, "compilation", "usage: compilation=yes,no"},
 	{GF_ISOM_ITUNE_COMPOSER, "composer", "usage: composer=name"},
-	{GF_ISOM_ITUNE_CREATED, "created", ""},
+	{GF_ISOM_ITUNE_CREATED, "created", "usage: created=year"},
 	{GF_ISOM_ITUNE_DISK, "disk", "usage: disk=x/N"},
 	{GF_ISOM_ITUNE_TOOL, "tool", "usage: tool=name"},
 	{GF_ISOM_ITUNE_GENRE, "genre", "usage: genre=name"},
@@ -96,7 +96,7 @@
 	{GF_ISOM_ITUNE_TEMPO, "tempo", "usage: tempo=integer"},
 	{GF_ISOM_ITUNE_WRITER, "writer", "usage: writer=name"},
 	{GF_ISOM_ITUNE_GROUP, "group", "usage: group=name"},
-	{GF_ISOM_ITUNE_COVER_ART, "cover", "usage: covber=file.jpg,file.png"},
+	{GF_ISOM_ITUNE_COVER_ART, "cover", "usage: cover=file.jpg,file.png"},
 	{GF_ISOM_ITUNE_ENCODER, "encoder", "usage: encoder=name"},
 	{GF_ISOM_ITUNE_GAPELESS, "gapeless", "usage: artist=yes,no"},
 };
@@ -142,6 +142,7 @@
 			"                       * Note 1: some tracks may be removed in the process\n"
 			"                       * Note 2: always on for *.3gp *.3g2 *.3gpp\n"
 			" -ipod                rewrites the file for iPod\n"
+			" -psp                 rewrites the file for PSP devices\n"
 			" -brand ABCD[:v]      sets major brand of file, with optional version\n"
 			" -ab ABCD             adds given brand to file's alternate brand list\n"
 			" -rb ABCD             removes given brand from file's alternate brand list\n"
@@ -888,7 +889,7 @@
 } MetaAction;
 
 /*for SDP_EX, AddTrack and RemTrack*/
-#define MAX_CUMUL_OPS	20
+#define MAX_CUMUL_OPS	100
 
 #ifndef GPAC_READ_ONLY
 static Bool parse_meta_args(MetaAction *meta, char *opts)
@@ -1292,6 +1293,7 @@
 		else if (!stricmp(arg, "-isma")) { conv_type = GF_ISOM_CONV_TYPE_ISMA; open_edit = 1; }
 		else if (!stricmp(arg, "-3gp")) { conv_type = GF_ISOM_CONV_TYPE_3GPP; open_edit = 1; }
 		else if (!stricmp(arg, "-ipod")) { conv_type = GF_ISOM_CONV_TYPE_IPOD; open_edit = 1; }
+		else if (!stricmp(arg, "-psp")) { conv_type = GF_ISOM_CONV_TYPE_PSP; open_edit = 1; }
 		else if (!stricmp(arg, "-ismax")) { conv_type = GF_ISOM_CONV_TYPE_ISMA_EX; open_edit = 1; }
 
 		else if (!stricmp(arg, "-no-sys") || !stricmp(arg, "-nosys")) { remove_sys_tracks = 1; open_edit = 1; }
Index: include/gpac/internal/avilib.h
===================================================================
RCS file: /cvsroot/gpac/gpac/include/gpac/internal/avilib.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 avilib.h
--- include/gpac/internal/avilib.h	13 Jul 2005 14:35:40 -0000	1.1.1.1
+++ include/gpac/internal/avilib.h	10 Dec 2008 13:27:19 -0000
@@ -298,9 +298,11 @@
 #define WAVE_FORMAT_YAMAHA_ADPCM        (0x0020)
 #define WAVE_FORMAT_DSP_TRUESPEECH      (0x0022)
 #define WAVE_FORMAT_GSM610              (0x0031)
+#define WAVE_FORMAT_MP3                 (0x0055)
 #define IBM_FORMAT_MULAW                (0x0101)
 #define IBM_FORMAT_ALAW                 (0x0102)
 #define IBM_FORMAT_ADPCM                (0x0103)
+#define WAVE_FORMAT_AC3                 (0x2000)
 #endif
 
 avi_t* AVI_open_output_file(char * filename);
Index: include/gpac/setup.h
===================================================================
RCS file: /cvsroot/gpac/gpac/include/gpac/setup.h,v
retrieving revision 1.28
diff -u -r1.28 setup.h
--- include/gpac/setup.h	1 Apr 2009 15:23:38 -0000	1.28
+++ include/gpac/setup.h	19 May 2009 08:39:19 -0000
@@ -40,7 +40,7 @@
 
 #ifdef GPAC_HAVE_CONFIG_H
 
-#if defined(__GNUC__) && !defined(GPAC_STATIC_CONFIG_H)
+#if defined(__GNUC__) || defined(__MINGW32__) && !defined(GPAC_STATIC_CONFIG_H)
 #include <gpac/internal/config.h>
 #else
 #include <gpac/internal/config_static.h>
@@ -351,7 +351,7 @@
 #endif
 /*end GPAC memory tracking*/
 
-#if defined (WIN32) && !defined(__GNUC__)
+#if defined(__MINGW32__) || (defined (WIN32) && !defined(__GNUC__))
 #define LLD "%I64d"
 #define LLU "%I64u"
 #define LLD_CAST
Index: include/gpac/tools.h
===================================================================
RCS file: /cvsroot/gpac/gpac/include/gpac/tools.h,v
retrieving revision 1.58
diff -u -r1.58 tools.h
--- include/gpac/tools.h	30 Mar 2009 17:57:28 -0000	1.58
+++ include/gpac/tools.h	19 May 2009 08:33:17 -0000
@@ -59,9 +59,10 @@
 */
 /*KEEP SPACE SEPARATORS FOR MAKE / GREP (SEE MAIN MAKEFILE)!!!, and NO SPACE in GPAC_VERSION for proper install*/
 #define GPAC_VERSION       "0.4.6-DEV"
+#define COMPILER_NAME      "Kurtnoise"
 
 #define GPAC_BUILD_NUMBER	"1"
-#define GPAC_FULL_VERSION       GPAC_VERSION" (build "GPAC_BUILD_NUMBER")"
+#define GPAC_FULL_VERSION       GPAC_VERSION" (build "GPAC_BUILD_NUMBER" - "__DATE__") - compiled by "COMPILER_NAME""
 
 /*!
  *	\brief GPAC Version
Index: src/isomedia/box_code_base.c
===================================================================
RCS file: /cvsroot/gpac/gpac/src/isomedia/box_code_base.c,v
retrieving revision 1.33
diff -u -r1.33 box_code_base.c
--- src/isomedia/box_code_base.c	31 Oct 2008 13:42:56 -0000	1.33
+++ src/isomedia/box_code_base.c	19 May 2009 08:37:27 -0000
@@ -109,7 +109,7 @@
 	
 	tmp = (GF_ChapterListBox *) malloc(sizeof(GF_ChapterListBox));
 	if (tmp == NULL) return NULL;
-	memset(tmp, 0, sizeof(GF_CopyrightBox));
+	memset(tmp, 0, sizeof(GF_ChapterListBox));
 	tmp->list = gf_list_new();
 	gf_isom_full_box_init((GF_Box *)tmp);
 	tmp->type = GF_ISOM_BOX_TYPE_CHPL;
Index: src/media_tools/media_export.c
===================================================================
RCS file: /cvsroot/gpac/gpac/src/media_tools/media_export.c,v
retrieving revision 1.31
diff -u -r1.31 media_export.c
--- src/media_tools/media_export.c	5 Jan 2009 15:47:40 -0000	1.31
+++ src/media_tools/media_export.c	25 Feb 2009 14:08:52 -0000
@@ -1073,7 +1073,8 @@
 	case IBM_FORMAT_MULAW: comp = "ibm_mulaw"; break;
 	case IBM_FORMAT_ALAW: comp = "ibm_alaw"; break;
 	case IBM_FORMAT_ADPCM: comp = "ibm_adpcm"; break;
-	case 0x55: comp = "mp3"; break;
+	case WAVE_FORMAT_MP3: comp = "mp3"; break;
+	case WAVE_FORMAT_AC3: comp = "ac3"; break;
 	default: comp = "raw"; break;
 	}
 	sprintf(szOutFile, "%s.%s", dumper->out_name, comp);
Index: src/media_tools/media_import.c
===================================================================
RCS file: /cvsroot/gpac/gpac/src/media_tools/media_import.c,v
retrieving revision 1.118
diff -u -r1.118 media_import.c
--- src/media_tools/media_import.c	1 Apr 2009 15:23:58 -0000	1.118
+++ src/media_tools/media_import.c	11 May 2009 06:09:06 -0000
@@ -5968,7 +5968,6 @@
 	while (gf_ac3_parser_bs(bs, &hdr, 0)) {
 		samp->dataLength = hdr.framesize;
 
-
 		if (import->flags & GF_IMPORT_USE_DATAREF) {
 			e = gf_isom_add_sample_reference(import->dest, track, di, samp, gf_bs_get_position(bs) );
 			gf_bs_skip_bytes(bs, samp->dataLength);
@@ -5982,12 +5981,13 @@
 		}
 		if (e) goto exit;
 
-		gf_set_progress("Importing AAC", done, tot_size);
+		gf_set_progress("Importing AC3", done, tot_size);
 
 		samp->DTS += 1536;
 		done += samp->dataLength;
 		if (duration && (samp->DTS > duration)) break;
 		if (import->flags & GF_IMPORT_DO_ABORT) break;
+        if (done > tot_size) break;  
 	}
 	MP4T_RecomputeBitRate(import->dest, track);
 	gf_set_progress("Importing AC3", tot_size, tot_size);
Index: src/scenegraph/base_scenegraph.c
===================================================================
RCS file: /cvsroot/gpac/gpac/src/scenegraph/base_scenegraph.c,v
retrieving revision 1.110
diff -u -r1.110 base_scenegraph.c
--- src/scenegraph/base_scenegraph.c	18 May 2009 12:17:02 -0000	1.110
+++ src/scenegraph/base_scenegraph.c	19 May 2009 08:02:00 -0000
@@ -602,8 +602,8 @@
 #ifdef GPAC_HAS_SPIDERMONKEY
 		if (pNode->sgprivate->scenegraph->on_node_modified && (pNode->sgprivate->num_instances==1) && pNode->sgprivate->interact && pNode->sgprivate->interact->js_binding) {
 			pNode->sgprivate->scenegraph->on_node_modified(pNode->sgprivate->scenegraph, pNode, NULL, NULL);
-#endif
 		}
+#endif
 		return GF_OK;
 	}
 	

