Commit ebab902a authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'bff0349d'

* commit 'bff0349d':
  avio: Add avio_read wrapper to simplify error checking
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 3bd43430 bff0349d
......@@ -85,6 +85,13 @@ int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char **buf, int buf_siz
uint64_t ffio_read_varlen(AVIOContext *bc);
/**
* Read size bytes from AVIOContext into buf.
* Check that exactly size bytes have been read.
* @return number of bytes read or AVERROR
*/
int ffio_read_size(AVIOContext *s, unsigned char *buf, int size);
/** @warning must be called before any I/O */
int ffio_set_buf_size(AVIOContext *s, int buf_size);
......
......@@ -580,6 +580,14 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size)
return size1 - size;
}
int ffio_read_size(AVIOContext *s, unsigned char *buf, int size)
{
int ret = avio_read(s, buf, size);
if (ret != size)
return AVERROR_INVALIDDATA;
return ret;
}
int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data)
{
if (s->buf_end - s->buf_ptr >= size && !s->write_flag) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment