[FFmpeg-cvslog] avformat/mov: Discard last STSC if its empty
Michael Niedermayer
git at videolan.org
Sat Apr 4 23:24:12 EEST 2020
ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Tue Feb 4 09:45:35 2020 +0100| [550fa277ef976d386b7b17841cb2dd8d1e5db168] | committer: Michael Niedermayer
avformat/mov: Discard last STSC if its empty
Fixes: Ticket8508
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=550fa277ef976d386b7b17841cb2dd8d1e5db168
---
libavformat/mov.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index f01502a5f8..a46787373f 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2677,6 +2677,10 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom)
sc->stsc_data[i].id < 1) {
av_log(c->fc, AV_LOG_WARNING, "STSC entry %d is invalid (first=%d count=%d id=%d)\n", i, sc->stsc_data[i].first, sc->stsc_data[i].count, sc->stsc_data[i].id);
if (i+1 >= sc->stsc_count) {
+ if (sc->stsc_data[i].count == 0 && i > 0) {
+ sc->stsc_count --;
+ continue;
+ }
sc->stsc_data[i].first = FFMAX(sc->stsc_data[i].first, first_min);
if (i > 0 && sc->stsc_data[i].first <= sc->stsc_data[i-1].first)
sc->stsc_data[i].first = FFMIN(sc->stsc_data[i-1].first + 1LL, INT_MAX);
More information about the ffmpeg-cvslog
mailing list