From f7813a5324be39d13ab536c245d15dfc602a7849 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sun, 29 Dec 2013 12:19:38 +0000 Subject: basic type mechanism working --- ffmpeg/libavformat/iff.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ffmpeg/libavformat/iff.c') diff --git a/ffmpeg/libavformat/iff.c b/ffmpeg/libavformat/iff.c index 1efc147..b5751c5 100644 --- a/ffmpeg/libavformat/iff.c +++ b/ffmpeg/libavformat/iff.c @@ -462,6 +462,10 @@ static int iff_read_packet(AVFormatContext *s, buf = pkt->data; bytestream_put_be16(&buf, 2); ret = avio_read(pb, buf, iff->body_size); + if (ret<0) { + av_free_packet(pkt); + } else if (ret < iff->body_size) + av_shrink_packet(pkt, ret + 2); } else { av_assert0(0); } @@ -481,5 +485,5 @@ AVInputFormat ff_iff_demuxer = { .read_probe = iff_probe, .read_header = iff_read_header, .read_packet = iff_read_packet, - .flags = AVFMT_GENERIC_INDEX, + .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK, }; -- cgit v1.2.3