aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-05-23 13:14:11 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-05-23 13:14:11 +0000
commit5c37f43a0d2131f292853f0d184acf4ec8dfb99f (patch)
tree5ebc16eff5aa639d79f36e875983b8d83c28b2e4
parentfbabf1e94405ba81eaa5f2a1f840920f47caed0c (diff)
downloadffmpeg-5c37f43a0d2131f292853f0d184acf4ec8dfb99f.tar.gz
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(). Originally committed as revision 13262 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/avformat.h4
-rw-r--r--libavformat/matroskadec.c3
-rw-r--r--libavformat/utils.c6
3 files changed, 8 insertions, 5 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 4888105319..03902d035c 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -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.
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 7f9352e46c..7cbf7054f1 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -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;
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5f5909bd1d..73c28e72ab 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -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;
}
/************************************************************/