+AVChapter *ff_new_chapter(AVFormatContext *s, int id, AVRational time_base, int64_t start, int64_t end, const char *title)
+{
+ AVChapter *chapter = NULL;
+ int i;
+
+ for(i=0; i<s->nb_chapters; i++)
+ if(s->chapters[i]->id == id)
+ chapter = s->chapters[i];
+
+ if(!chapter){
+ chapter= av_mallocz(sizeof(AVChapter));
+ if(!chapter)
+ return NULL;
+ dynarray_add(&s->chapters, &s->nb_chapters, chapter);
+ }
+ av_free(chapter->title);
+ chapter->title = av_strdup(title);
+ chapter->id = id;
+ chapter->time_base= time_base;
+ chapter->start = start;
+ chapter->end = end;
+
+ return chapter;
+}