Make ff_new_chapter() return AVChapter instead of int so its consistant with
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 23 May 2008 13:14:11 +0000 (13:14 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 23 May 2008 13:14:11 +0000 (13:14 +0000)
av_new_program() and its simpler to set other fields in AVChapter which arent
set by ff_new_chapter().

Originally committed as revision 13262 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/avformat.h
libavformat/matroskadec.c
libavformat/utils.c

index 4888105..03902d0 100644 (file)
@@ -764,8 +764,10 @@ AVProgram *av_new_program(AVFormatContext *s, int id);
  * @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.
index 7f9352e..7cbf705 100644 (file)
@@ -2257,7 +2257,8 @@ matroska_parse_chapters(AVFormatContext *s)
                         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;
index 5f5909b..73c28e7 100644 (file)
@@ -2234,7 +2234,7 @@ void av_set_program_name(AVProgram *program, char *provider_name, char *name)
     }
 }
 
-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 @@ int ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const
     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 @@ int ff_new_chapter(AVFormatContext *s, int id, int64_t start, int64_t end, const
     chapter->start = start;
     chapter->end   = end;
 
-    return 0;
+    return chapter;
 }
 
 /************************************************************/