From 47627aec613106be39a462b9485c51c548da147e Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Wed, 27 Jul 2005 07:31:40 +0000
Subject: [PATCH] round pointer up to next packet_size multiple

Originally committed as revision 4479 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/asf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/asf.c b/libavformat/asf.c
index 12d2a5ed323..19265ac6a61 100644
--- a/libavformat/asf.c
+++ b/libavformat/asf.c
@@ -422,8 +422,6 @@ static int asf_get_packet(AVFormatContext *s)
     int rsize = 9;
     int c;
     
-    if((url_ftell(&s->pb) - s->data_offset) % asf->packet_size)
-        return -1;
     assert((url_ftell(&s->pb) - s->data_offset) % asf->packet_size == 0);
     
     c = get_byte(pb);
@@ -485,6 +483,8 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
 	    //asf->packet_size_left <= asf->packet_padsize) {
 	    int ret = asf->packet_size_left + asf->packet_padsize;
 	    //printf("PacketLeftSize:%d  Pad:%d Pos:%Ld\n", asf->packet_size_left, asf->packet_padsize, url_ftell(pb));
+            if((url_ftell(&s->pb) + ret - s->data_offset) % asf->packet_size)
+                ret += asf->packet_size - ((url_ftell(&s->pb) + ret - s->data_offset) % asf->packet_size);
 	    /* fail safe */
 	    url_fskip(pb, ret);
             asf->packet_pos= url_ftell(&s->pb);
-- 
GitLab