mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-05-28 21:16:56 +08:00
lavf: Update AVIOContext.maxsize when hitting the end.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@ -269,10 +269,17 @@ int av_get_packet(AVIOContext *s, AVPacket *pkt, int size)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if(s->maxsize>0){
|
||||
if(s->maxsize>=0){
|
||||
int64_t remaining= s->maxsize - avio_tell(s);
|
||||
if(remaining>=0)
|
||||
size= FFMIN(size, remaining);
|
||||
if(remaining < size){
|
||||
int64_t newsize= avio_size(s);
|
||||
if(!s->maxsize || s->maxsize<newsize)
|
||||
s->maxsize= newsize;
|
||||
remaining= s->maxsize - avio_tell(s);
|
||||
}
|
||||
|
||||
if(s->maxsize>=0 && remaining>=0)
|
||||
size= FFMIN(size, remaining+1);
|
||||
}
|
||||
|
||||
ret= av_new_packet(pkt, size);
|
||||
|
Reference in New Issue
Block a user