summaryrefslogtreecommitdiff
path: root/libavformat/brstm.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2012-12-07 17:52:23 +0000
committerPaul B Mahol <onemda@gmail.com>2012-12-07 17:55:45 +0000
commitfe63d4130235390603df3e91e8a7ac9b3bf05308 (patch)
treeaeb9bd9c2bee12df3466f39a09b20193bc6049e1 /libavformat/brstm.c
parent857d7194ca6d07fb9fa70c05826895d6b9c5e983 (diff)
downloadffmpeg-fe63d4130235390603df3e91e8a7ac9b3bf05308.tar.gz
brstm: do not return partial packets
Such packets are useless. Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavformat/brstm.c')
-rw-r--r--libavformat/brstm.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libavformat/brstm.c b/libavformat/brstm.c
index a4db35a9be..0a874d374c 100644
--- a/libavformat/brstm.c
+++ b/libavformat/brstm.c
@@ -266,19 +266,18 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
(b->current_block - 1), 4 * codec->channels);
ret = avio_read(s->pb, dst, size);
- if (ret < 0) {
+ if (ret != size)
av_free_packet(pkt);
- return ret;
- }
pkt->duration = samples;
} else {
ret = av_get_packet(s->pb, pkt, size);
- if (ret < 0)
- return ret;
}
pkt->stream_index = 0;
+ if (ret != size)
+ ret = AVERROR(EIO);
+
return ret;
}