On Fri, Sep 09, 2016 at 09:07:31PM -0500, Rodger Combs wrote: > 3 parts: > - Supports multiple chapter streams > - Exports regular text chapter streams as opaque data. This prevents consumers > from showing chapters as if they were regular subtitle streams. > - Exports video chapter streams as thumbnails, and provides the first one as > an attached_pic. > --- > libavformat/isom.h | 3 ++- > libavformat/mov.c | 52 +++++++++++++++++++++++++++++++++++++++++++++------- > 2 files changed, 47 insertions(+), 8 deletions(-) > > diff --git a/libavformat/isom.h b/libavformat/isom.h > index 2246fed..9038057 100644 > --- a/libavformat/isom.h > +++ b/libavformat/isom.h > @@ -210,7 +210,8 @@ typedef struct MOVContext { > unsigned trex_count; > int itunes_metadata; ///< metadata are itunes style > int handbrake_version; > - int chapter_track; > + int *chapter_tracks; > + unsigned int nb_chapter_tracks; > int use_absolute_path; > int ignore_editlist; > int ignore_chapters; > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 6e80b93..22ca809 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -3574,7 +3574,18 @@ static int mov_read_tfhd(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > > static int mov_read_chap(MOVContext *c, AVIOContext *pb, MOVAtom atom) > { > - c->chapter_track = avio_rb32(pb); > + unsigned i, num; > + av_free(c->chapter_tracks); > + > + num = atom.size / 4; > + if (!(c->chapter_tracks = av_malloc(num * 4)))
av_malloc_array() > + return AVERROR(ENOMEM); the error return leaves the size and array in an inconsistent tstate > + > + c->nb_chapter_tracks = num; > + > + for (i = 0; i < num; i++) > + c->chapter_tracks[i] = avio_rb32(pb); missing eof check reading 16gb without checking is not a good idea, it could waste alot of time this patch also appears to result in missing codec parameters(pix fmt) and ffmpeg failing to transcode it should i upload a file that causes this ? thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Republics decline into democracies and democracies degenerate into despotisms. -- Aristotle
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel