ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Wed Sep 27 20:42:39 2017 -0300| [b35f6d3aa359567fa4572a1a982ec6d233929d35] | committer: James Almer
Merge commit '53ea595eec984e3109310e8bb7ff4b5786d91057' * commit '53ea595eec984e3109310e8bb7ff4b5786d91057': mov: Rework stsc index validation See e26e6240b6700c5e8c16d0f092f1ad46805a723c. Merged-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b35f6d3aa359567fa4572a1a982ec6d233929d35 --- libavformat/isom.h | 2 +- libavformat/mov.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libavformat/isom.h b/libavformat/isom.h index fdd98c28f5..9aea629293 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -141,7 +141,7 @@ typedef struct MOVStreamContext { MOVStts *ctts_data; unsigned int stsc_count; MOVStsc *stsc_data; - int stsc_index; + unsigned int stsc_index; int stsc_sample; unsigned int stps_count; unsigned *stps_data; ///< partial sync sample for mpeg-2 open gop diff --git a/libavformat/mov.c b/libavformat/mov.c index 2de60b2159..19cda1424d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2447,10 +2447,13 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom) return 0; } -#define mov_stsc_index_valid(index, count) ((index) < (count) - 1) +static inline int mov_stsc_index_valid(unsigned int index, unsigned int count) +{ + return index < count - 1; +} /* Compute the samples value for the stsc entry at the given index. */ -static inline int mov_get_stsc_samples(MOVStreamContext *sc, int index) +static inline int mov_get_stsc_samples(MOVStreamContext *sc, unsigned int index) { int chunk_count; @@ -6647,7 +6650,7 @@ static int mov_seek_stream(AVFormatContext *s, AVStream *st, int64_t timestamp, { MOVStreamContext *sc = st->priv_data; int sample, time_sample; - int i; + unsigned int i; int ret = mov_seek_fragment(s, st, timestamp); if (ret < 0) ====================================================================== diff --cc libavformat/mov.c index 2de60b2159,11bcff035c..19cda1424d --- a/libavformat/mov.c +++ b/libavformat/mov.c @@@ -6647,12 -3982,8 +6650,12 @@@ static int mov_seek_stream(AVFormatCont { MOVStreamContext *sc = st->priv_data; int sample, time_sample; - int i; + unsigned int i; + int ret = mov_seek_fragment(s, st, timestamp); + if (ret < 0) + return ret; + sample = av_index_search_timestamp(st, timestamp, flags); av_log(s, AV_LOG_TRACE, "stream %d, timestamp %"PRId64", sample %d\n", st->index, timestamp, sample); if (sample < 0 && st->nb_index_entries && timestamp < st->index_entries[0].timestamp) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog