diff --git a/libavformat/mov.c b/libavformat/mov.c index b5325afee7d18195b817a42f4c3e8bc6ca18ddf5..29e379b117d4f3c6bb951d6924c38fc527f4f456 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -935,6 +935,12 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) get_be16(pb); /* reserved */ get_be16(pb); /* index */ + if (st->codec->codec_tag) { + /* multiple fourcc, just skip for now */ + url_fskip(pb, size - (url_ftell(pb) - start_pos)); + continue; + } + st->codec->codec_tag = format; id = codec_get_id(mov_audio_tags, format); if (id > 0) {