changeset 3330:374e74567a4e libavformat

Make ff_new_chapter() return AVChapter instead of int so its consistant with av_new_program() and its simpler to set other fields in AVChapter which arent set by ff_new_chapter().
author michael
date Fri, 23 May 2008 13:14:11 +0000
parents 8426e474011f
children f89173ea4c5e
files avformat.h matroskadec.c utils.c
diffstat 3 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/avformat.h	Fri May 23 13:08:44 2008 +0000
+++ b/avformat.h	Fri May 23 13:14:11 2008 +0000
@@ -764,8 +764,10 @@
  * @param start chapter start time in AV_TIME_BASE units
  * @param end chapter end time in AV_TIME_BASE units
  * @param title chapter title
+ *
+ * @return AVChapter or NULL if error.
  */
-int ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const char *title);
+AVChapter *ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const char *title);
 
 /**
  * Set the pts for a given stream.
--- a/matroskadec.c	Fri May 23 13:08:44 2008 +0000
+++ b/matroskadec.c	Fri May 23 13:14:11 2008 +0000
@@ -2257,7 +2257,8 @@
                         start = start * AV_TIME_BASE / 1000000000;
                         if (end != AV_NOPTS_VALUE)
                             end = end * AV_TIME_BASE / 1000000000;
-                        res = ff_new_chapter(s, uid, start, end, title);
+                        if(!ff_new_chapter(s, uid, start, end, title))
+                            res= AVERROR(ENOMEM);
                     }
                     av_free(title);
                     break;
--- a/utils.c	Fri May 23 13:08:44 2008 +0000
+++ b/utils.c	Fri May 23 13:14:11 2008 +0000
@@ -2234,7 +2234,7 @@
     }
 }
 
-int ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const char *title)
+AVChapter *ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const char *title)
 {
     AVChapter *chapter = NULL;
     int i;
@@ -2246,7 +2246,7 @@
     if(!chapter){
         chapter= av_mallocz(sizeof(AVChapter));
         if(!chapter)
-            return AVERROR(ENOMEM);
+            return NULL;
         dynarray_add(&s->chapters, &s->nb_chapters, chapter);
     }
     if(chapter->title)
@@ -2256,7 +2256,7 @@
     chapter->start = start;
     chapter->end   = end;
 
-    return 0;
+    return chapter;
 }
 
 /************************************************************/