On 16/03/15 12:58, Vittorio Giovara wrote:
TSCC2 seems to put esds atom despite not containing MPEG-4 video. Although lavf mov demuxer properly detects codec id as TSCC2, it still tries to parse esds and since it's no MPEG-4 video it resets the codec id, preventing video to be decoded. --- libavformat/mov.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/libavformat/mov.c b/libavformat/mov.c index 45c843f..d5ab491 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -623,7 +623,7 @@ int ff_mov_read_esds(AVFormatContext *fc, AVIOContext *pb) avio_rb16(pb); /* ID */ ff_mp4_read_descr(fc, pb, &tag); - if (tag == MP4DecConfigDescrTag) + if (tag == MP4DecConfigDescrTag && st->codec->codec_id != AV_CODEC_ID_TSCC2) ff_mp4_read_dec_config_descr(fc, st, pb); return 0; }
What's inside the tag? Maybe you could move the check inside that function. lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
