check url_fseek return value, update seek reg tests

Originally committed as revision 14489 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2008-07-31 18:02:55 +00:00
parent 23f02559fe
commit aaec4e03e9
1 changed files with 9 additions and 7 deletions

View File

@ -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, static int av_seek_frame_generic(AVFormatContext *s,
int stream_index, int64_t timestamp, int flags) int stream_index, int64_t timestamp, int flags)
{ {
int index; int index, ret;
AVStream *st; AVStream *st;
AVIndexEntry *ie; AVIndexEntry *ie;
@ -1445,11 +1445,13 @@ static int av_seek_frame_generic(AVFormatContext *s,
if(st->nb_index_entries){ if(st->nb_index_entries){
assert(st->index_entries); assert(st->index_entries);
ie= &st->index_entries[st->nb_index_entries-1]; 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); av_update_cur_dts(s, st, ie->timestamp);
}else }else{
url_fseek(s->pb, 0, SEEK_SET); if ((ret = url_fseek(s->pb, 0, SEEK_SET)) < 0)
return ret;
}
for(i=0;; i++) { for(i=0;; i++) {
int ret = av_read_frame(s, &pkt); int ret = av_read_frame(s, &pkt);
if(ret<0) if(ret<0)
@ -1471,8 +1473,8 @@ static int av_seek_frame_generic(AVFormatContext *s,
return 0; return 0;
} }
ie = &st->index_entries[index]; 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); av_update_cur_dts(s, st, ie->timestamp);
return 0; return 0;