aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-07-31 18:02:55 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-07-31 18:02:55 +0000
commitaaec4e03e91f3f301d5720429a5da99b44e7e1bb (patch)
tree8ceca86c6e844cffb688631bfbc0b5629272042e /libavformat
parent23f02559fe1abfe7a27268c57c5c5f5f06b7b929 (diff)
downloadffmpeg-aaec4e03e91f3f301d5720429a5da99b44e7e1bb.tar.gz
check url_fseek return value, update seek reg tests
Originally committed as revision 14489 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/utils.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 44299f9f60..d1647d2a06 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1430,7 +1430,7 @@ static int av_seek_frame_byte(AVFormatContext *s, int stream_index, int64_t pos,
static int av_seek_frame_generic(AVFormatContext *s,
int stream_index, int64_t timestamp, int flags)
{
- int index;
+ int index, ret;
AVStream *st;
AVIndexEntry *ie;
@@ -1445,11 +1445,13 @@ static int av_seek_frame_generic(AVFormatContext *s,
if(st->nb_index_entries){
assert(st->index_entries);
ie= &st->index_entries[st->nb_index_entries-1];
- url_fseek(s->pb, ie->pos, SEEK_SET);
+ if ((ret = url_fseek(s->pb, ie->pos, SEEK_SET)) < 0)
+ return ret;
av_update_cur_dts(s, st, ie->timestamp);
- }else
- url_fseek(s->pb, 0, SEEK_SET);
-
+ }else{
+ if ((ret = url_fseek(s->pb, 0, SEEK_SET)) < 0)
+ return ret;
+ }
for(i=0;; i++) {
int ret = av_read_frame(s, &pkt);
if(ret<0)
@@ -1471,8 +1473,8 @@ static int av_seek_frame_generic(AVFormatContext *s,
return 0;
}
ie = &st->index_entries[index];
- url_fseek(s->pb, ie->pos, SEEK_SET);
-
+ if ((ret = url_fseek(s->pb, ie->pos, SEEK_SET)) < 0)
+ return ret;
av_update_cur_dts(s, st, ie->timestamp);
return 0;