mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-06 20:47:41 +00:00
Make get_buffer and get_partial_buffer return url_ferror or AVERROR_EOF as
appropriate if it couldn't read any data at all. This should make handling of EOF and error simpler or make it work right without extra code in a few place (e.g. raw demuxer). Originally committed as revision 20135 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
de27f4d957
commit
7f7686dfb1
@ -415,6 +415,10 @@ int get_buffer(ByteIOContext *s, unsigned char *buf, int size)
|
|||||||
size -= len;
|
size -= len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (size1 == size) {
|
||||||
|
if (url_ferror(s)) return url_ferror(s);
|
||||||
|
if (url_feof(s)) return AVERROR_EOF;
|
||||||
|
}
|
||||||
return size1 - size;
|
return size1 - size;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -434,6 +438,10 @@ int get_partial_buffer(ByteIOContext *s, unsigned char *buf, int size)
|
|||||||
len = size;
|
len = size;
|
||||||
memcpy(buf, s->buf_ptr, len);
|
memcpy(buf, s->buf_ptr, len);
|
||||||
s->buf_ptr += len;
|
s->buf_ptr += len;
|
||||||
|
if (!len) {
|
||||||
|
if (url_ferror(s)) return url_ferror(s);
|
||||||
|
if (url_feof(s)) return AVERROR_EOF;
|
||||||
|
}
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user