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>
This commit is contained in:
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user