diff --git a/libavformat/au.c b/libavformat/au.c index 7f119e9a4c..0ea0ea8c98 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -157,14 +157,16 @@ static int au_read_header(AVFormatContext *s, return 0; } -#define MAX_SIZE 4096 +#define BLOCK_SIZE 1024 static int au_read_packet(AVFormatContext *s, AVPacket *pkt) { int ret; - ret= av_get_packet(s->pb, pkt, MAX_SIZE); + ret= av_get_packet(s->pb, pkt, BLOCK_SIZE * + s->streams[0]->codec->channels * + av_get_bits_per_sample(s->streams[0]->codec->codec_id) >> 3); if (ret < 0) return ret; pkt->stream_index = 0;