]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264.h
Merge commit '86e5056575f55f070609dd3926605302f7d2280e'
[ffmpeg] / libavcodec / h264.h
index 2b5029a74919cc2dcecfb75631f95521f3d15fc9..73562882cdbf8c3604596b4d6fafaf63a1c1c23b 100644 (file)
@@ -1191,15 +1191,17 @@ 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) {
+        // the end of the buffer is reached, refill it.
+        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;
 }