diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2008-05-23 13:14:11 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2008-05-23 13:14:11 +0000 |
commit | 5c37f43a0d2131f292853f0d184acf4ec8dfb99f (patch) | |
tree | 5ebc16eff5aa639d79f36e875983b8d83c28b2e4 | |
parent | fbabf1e94405ba81eaa5f2a1f840920f47caed0c (diff) | |
download | ffmpeg-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.h | 4 | ||||
-rw-r--r-- | libavformat/matroskadec.c | 3 | ||||
-rw-r--r-- | libavformat/utils.c | 6 |
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; } /************************************************************/ |