Added metadata output for MKV chapter information

git-svn-id: svn+ssh://74.125.59.83/svnsource/ffmpeg/trunk@67 c0683bf1-fb26-4375-bba1-98ccd3d3b0d1
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 6b9efb7..81353a5 100755
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1186,8 +1186,7 @@
     AVStream *st;
     int i, j;
     int indexcount=0;
-	char chapTit[64];

-	char chapVal[64];

+	char* metaChapters = 0;

 
     matroska->ctx = s;
 
@@ -1484,11 +1483,21 @@
                            chapters[i].title);
             av_metadata_set(&chapters[i].chapter->metadata,
                             "title", chapters[i].title);

-			snprintf(chapTit, 64, "chapterstart%d", i);

-			snprintf(chapVal, 64, "%"PRIu64"", chapters[i].start/1000000);

-			av_metadata_set(&s->metadata, chapTit, chapVal);
+			if (!metaChapters)

+			{

+				metaChapters = (char*) av_malloc(chapters_list->nb_elem * 16);

+				metaChapters[0] = '\0';

+			}

+

+			av_strlcatf(metaChapters, chapters_list->nb_elem * 16, "%"PRIu64",", chapters[i].start/1000000);

             max_start = chapters[i].start;
         }
+	if (metaChapters)

+	{

+		av_metadata_set(&s->metadata, "chapterpoints", metaChapters);

+		av_free(metaChapters);

+		metaChapters = 0;

+	}

 
     index_list = &matroska->index;
     index = index_list->elem;