You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
Only insert the icpf atom in ProRes mkv packets if it isn't already present.
The patch allows to read broken mkv files containing ProRes as written by the Haali muxer. Fixes a part of ticket #3434.
This commit is contained in:
@@ -2545,7 +2545,8 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska,
|
||||
pkt_data = wv_data;
|
||||
}
|
||||
|
||||
if (st->codec->codec_id == AV_CODEC_ID_PRORES)
|
||||
if (st->codec->codec_id == AV_CODEC_ID_PRORES &&
|
||||
AV_RB32(&data[4]) != MKBETAG('i', 'c', 'p', 'f'))
|
||||
offset = 8;
|
||||
|
||||
pkt = av_mallocz(sizeof(AVPacket));
|
||||
@@ -2556,7 +2557,7 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (st->codec->codec_id == AV_CODEC_ID_PRORES) {
|
||||
if (st->codec->codec_id == AV_CODEC_ID_PRORES && offset == 8) {
|
||||
uint8_t *buf = pkt->data;
|
||||
bytestream_put_be32(&buf, pkt_size);
|
||||
bytestream_put_be32(&buf, MKBETAG('i', 'c', 'p', 'f'));
|
||||
|
Reference in New Issue
Block a user