From 34751f8313a41bf94e004ffa9491f35d96763558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 21 Jan 2012 11:11:57 +0100 Subject: [PATCH] Demux all parts of concatenated H.264. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We may or may not be able to play the latter parts but not demuxing at all seems like the worst possible behaviour. Fixes playback of e.g. http://playlist.yahoo.com/makeplaylist.dll?sid=128114687&sdm=web&pt=rd As a proper solution either multiple video streams should be exported or side data should be used to update extradata if necessary. Signed-off-by: Reimar Döffinger --- libavformat/mov.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index c46a2e4f02..0968da264a 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1150,14 +1150,13 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) /* Multiple fourcc, we skip JPEG. This is not correct, we should * export it as a separate AVStream but this needs a few changes * in the MOV demuxer, patch welcome. */ - multiple_stsd: av_log(c->fc, AV_LOG_WARNING, "multiple fourcc not supported\n"); avio_skip(pb, size - (avio_tell(pb) - start_pos)); continue; } /* we cannot demux concatenated h264 streams because of different extradata */ if (st->codec->codec_tag && st->codec->codec_tag == AV_RL32("avc1")) - goto multiple_stsd; + av_log(c->fc, AV_LOG_WARNING, "Concatenated H.264 might not play corrently.\n"); sc->pseudo_stream_id = st->codec->codec_tag ? -1 : pseudo_stream_id; sc->dref_id= dref_id;