[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