|
|
|
@ -1493,7 +1493,10 @@ static int av_seek_frame_generic(AVFormatContext *s, |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
for(i=0;; i++) { |
|
|
|
|
int ret = av_read_frame(s, &pkt); |
|
|
|
|
int ret; |
|
|
|
|
do{ |
|
|
|
|
ret = av_read_frame(s, &pkt); |
|
|
|
|
}while(ret == AVERROR(EAGAIN)); |
|
|
|
|
if(ret<0) |
|
|
|
|
break; |
|
|
|
|
av_free_packet(&pkt); |
|
|
|
@ -1718,7 +1721,9 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset |
|
|
|
|
if (i == ic->nb_streams) |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
ret = av_read_packet(ic, pkt); |
|
|
|
|
do{ |
|
|
|
|
ret = av_read_packet(ic, pkt); |
|
|
|
|
}while(ret == AVERROR(EAGAIN)); |
|
|
|
|
if (ret != 0) |
|
|
|
|
break; |
|
|
|
|
read_size += pkt->size; |
|
|
|
@ -1743,7 +1748,9 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset |
|
|
|
|
if (read_size >= DURATION_MAX_READ_SIZE) |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
ret = av_read_packet(ic, pkt); |
|
|
|
|
do{ |
|
|
|
|
ret = av_read_packet(ic, pkt); |
|
|
|
|
}while(ret == AVERROR(EAGAIN)); |
|
|
|
|
if (ret != 0) |
|
|
|
|
break; |
|
|
|
|
read_size += pkt->size; |
|
|
|
@ -2044,6 +2051,8 @@ int av_find_stream_info(AVFormatContext *ic) |
|
|
|
|
/* NOTE: a new stream can be added there if no header in file
|
|
|
|
|
(AVFMTCTX_NOHEADER) */ |
|
|
|
|
ret = av_read_frame_internal(ic, &pkt1); |
|
|
|
|
if(ret == AVERROR(EAGAIN)) |
|
|
|
|
continue; |
|
|
|
|
if (ret < 0) { |
|
|
|
|
/* EOF or error */ |
|
|
|
|
ret = -1; /* we could not have all the codec parameters before EOF */ |
|
|
|
|