From ff82e429cbf25599b857a6bb484145b372c115ba Mon Sep 17 00:00:00 2001 From: Reinhard Nissl Date: Mon, 9 Apr 2007 12:55:07 +0000 Subject: [PATCH] scenario: A properly coded frame is followed by an end of sequence NAL unit, i.e. the four bytes 00 00 01 0a. When decode_nal() decodes the end of sequence NAL unit, it returns with dst_length == 0. The original code leads to a return -1 which discards the current properly decoded frame. patch by Reinhard Nissl, rnissl gmx de Originally committed as revision 8688 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index e4e3234..6daa0f0 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -8144,7 +8144,7 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){ } ptr= decode_nal(h, buf + buf_index, &dst_length, &consumed, h->is_avc ? nalsize : buf_size - buf_index); - if (ptr==NULL || dst_length <= 0){ + if (ptr==NULL || dst_length < 0){ return -1; } while(ptr[dst_length - 1] == 0 && dst_length > 1) -- 2.7.4