OSDN Git Service

nutdec: use ff_find_last_ts()
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 6 Jul 2013 20:05:35 +0000 (22:05 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 6 Jul 2013 20:27:35 +0000 (22:27 +0200)
Fixes finding the duration for nut files that are truncated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/nutdec.c

index 30bdefd..13048fb 100644 (file)
@@ -586,14 +586,8 @@ static int64_t find_duration(NUTContext *nut, int64_t filesize)
     AVFormatContext *s = nut->avf;
     int64_t duration = 0;
 
-    int64_t pos = FFMAX(0, filesize - 2*nut->max_distance);
-    for(;;){
-        int64_t ts = nut_read_timestamp(s, -1, &pos, INT64_MAX);
-        if(ts < 0)
-            break;
-        duration = FFMAX(duration, ts);
-        pos++;
-    }
+    ff_find_last_ts(s, -1, &duration, NULL, nut_read_timestamp);
+
     if(duration > 0)
         s->duration_estimation_method = AVFMT_DURATION_FROM_PTS;
     return duration;