From 2527cf5d0b98f18bbee3d25d2ce99b40ddd52958 Mon Sep 17 00:00:00 2001 From: huili2 Date: Tue, 11 Nov 2014 19:23:58 -0800 Subject: [PATCH] fix bug of parse error return for VCL data --- codec/decoder/core/src/au_parser.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/codec/decoder/core/src/au_parser.cpp b/codec/decoder/core/src/au_parser.cpp index 23d95b4e..426a8ef1 100644 --- a/codec/decoder/core/src/au_parser.cpp +++ b/codec/decoder/core/src/au_parser.cpp @@ -314,6 +314,11 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade iBitSize = (iNalSize << 3) - BsGetTrailingBits (pNal + iNalSize - 1); // convert into bit iErr = InitBits (pBs, pNal, iBitSize); if (iErr) { + ForceClearCurrentNal (pCurAu); + if (uiAvailNalNum > 1) { + pCurAu->uiEndPos = uiAvailNalNum - 2; + pCtx->bAuReadyFlag = true; + } WelsLog (pLogCtx, WELS_LOG_ERROR, "NAL_UNIT_CODED_SLICE: InitBits() fail due invalid access."); pCtx->iErrorCode |= dsBitstreamError; return NULL;