* @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.
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;
}
}
-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;
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)
chapter->start = start;
chapter->end = end;
- return 0;
+ return chapter;
}
/************************************************************/