diff utils.c @ 810:2a84386ed2a8 libavformat

avformat/av_seek_frame_binary with growing file patch by (Kenneth Aafly: kenneth, aafloy net)
author michael
date Fri, 08 Jul 2005 09:14:05 +0000
parents bae563a91a57
children a6c035e7f429
line wrap: on
line diff
--- a/utils.c	Tue Jul 05 09:07:51 2005 +0000
+++ b/utils.c	Fri Jul 08 09:14:05 2005 +0000
@@ -1198,7 +1198,7 @@
     AVInputFormat *avif= s->iformat;
     int64_t pos_min, pos_max, pos, pos_limit;
     int64_t ts_min, ts_max, ts;
-    int64_t start_pos;
+    int64_t start_pos, filesize;
     int index, no_change;
     AVStream *st;
 
@@ -1256,7 +1256,8 @@
 
     if(ts_max == AV_NOPTS_VALUE){
         int step= 1024;
-        pos_max = url_fsize(&s->pb) - 1;
+        filesize = url_fsize(&s->pb);
+        pos_max = filesize - 1;
         do{
             pos_max -= step;
             ts_max = avif->read_timestamp(s, stream_index, &pos_max, pos_max + step);
@@ -1272,6 +1273,8 @@
                 break;
             ts_max= tmp_ts;
             pos_max= tmp_pos;
+            if(tmp_pos >= filesize)
+                break;
         }
         pos_limit= pos_max;
     }