AU : demuxed packet size should be sample size aligned.
authorJai Menon <jmenon86@gmail.com>
Mon, 7 Dec 2009 13:55:38 +0000 (13:55 +0000)
committerJai Menon <jmenon86@gmail.com>
Mon, 7 Dec 2009 13:55:38 +0000 (13:55 +0000)
Fixes issue 1593.

Originally committed as revision 20758 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/au.c

index 7f119e9..0ea0ea8 100644 (file)
@@ -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;