summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-21 11:11:57 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-28 22:01:09 +0100
commit34751f8313a41bf94e004ffa9491f35d96763558 (patch)
treec7ef8f17bf8175a833220fa77e7b1cc453eac88a /libavformat
parentbb2d42c22facb057b22b0be18c115f8811494935 (diff)
Demux all parts of concatenated H.264.
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 <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mov.c3
1 files changed, 1 insertions, 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;