diff --git a/libavformat/mov.c b/libavformat/mov.c index c0c057a4bf..ed027db04e 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -977,6 +977,10 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOVAtom atom) sc->sample_size = (bits_per_sample >> 3) * st->codec->channels; } } else if(st->codec->codec_type==CODEC_TYPE_SUBTITLE){ + // ttxt stsd contains display flags, justification, background + // color, fonts, and default styles, so fake an atom to read it + MOVAtom fake_atom = { .size = size - (url_ftell(pb) - start_pos) }; + mov_read_glbl(c, pb, fake_atom); st->codec->codec_id= id; } else { /* other codec type, just skip (rtp, mp4s, tmcd ...) */