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;
|
||||
}
|
||||
}
|
||||
if (size1 == size) {
|
||||
if (url_ferror(s)) return url_ferror(s);
|
||||
if (url_feof(s)) return AVERROR_EOF;
|
||||
}
|
||||
return size1 - size;
|
||||
}
|
||||
|
||||
@ -434,6 +438,10 @@ int get_partial_buffer(ByteIOContext *s, unsigned char *buf, int size)
|
||||
len = size;
|
||||
memcpy(buf, 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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user