OSDN Git Service

Calls to url_fseek should have their return value checked in
authorSean Soria <sean.soria@gmail.com>
Sun, 6 Dec 2009 00:03:53 +0000 (00:03 +0000)
committerDaniel Verkamp <daniel@drv.nu>
Sun, 6 Dec 2009 00:03:53 +0000 (00:03 +0000)
av_seek_frame_binary, just as they do in av_seek_frame_generic.
Otherwise, function may return success even though url_fseek reported
failure.

Patch by Sean Soria, first.last at gmail

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

libavformat/utils.c

index 82d1adb..98f670d 100644 (file)
@@ -1311,6 +1311,7 @@ int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts
     int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit;
     int64_t ts_min, ts_max, ts;
     int index;
+    int64_t ret;
     AVStream *st;
 
     if (stream_index < 0)
@@ -1363,7 +1364,8 @@ int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts
         return -1;
 
     /* do the seek */
-    url_fseek(s->pb, pos, SEEK_SET);
+    if ((ret = url_fseek(s->pb, pos, SEEK_SET)) < 0)
+        return ret;
 
     av_update_cur_dts(s, st, ts);