diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 2b5029a749..153668de45 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -1191,15 +1191,16 @@ static inline int get_avc_nalsize(H264Context *h, const uint8_t *buf, { int i, nalsize = 0; - if (*buf_index >= buf_size - h->nal_length_size) - return -1; + if (*buf_index >= buf_size - h->nal_length_size) { + return AVERROR(EAGAIN); + } for (i = 0; i < h->nal_length_size; i++) nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++]; if (nalsize <= 0 || nalsize > buf_size - *buf_index) { av_log(h->avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize); - return -1; + return AVERROR_INVALIDDATA; } return nalsize; }