ref: 64380c46b8af0aaf34ed21495bbd6c3b9198950a
parent: 7d6035d5d4bfc8db4fb5d496ddfee85921178e04
author: Licai Guo <[email protected]>
date: Sun Jan 19 13:54:45 EST 2014
fix 961370
--- a/codec/decoder/core/src/au_parser.cpp
+++ b/codec/decoder/core/src/au_parser.cpp
@@ -206,6 +206,16 @@
pCurNal = &pCtx->sPrefixNal;
if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) {
+ pCtx->iErrorCode |= dsBitstreamError;
+
+ PAccessUnit pCurAu = pCtx->pAccessUnitList;
+ uint32_t uiAvailNalNum = pCurAu->uiAvailUnitsNum;
+ ForceClearCurrentNal (pCurAu);
+
+ if (uiAvailNalNum > 1) {
+ pCurAu->uiEndPos = uiAvailNalNum - 2;
+ pCtx->bAuReadyFlag = true;
+ }
return NULL;
}
@@ -250,6 +260,14 @@
if (pNalUnitHeader->eNalUnitType == NAL_UNIT_CODED_SLICE_EXT) {
if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) {
+ pCtx->iErrorCode |= dsBitstreamError;
+
+ ForceClearCurrentNal (pCurAu);
+
+ if (uiAvailNalNum > 1) {
+ pCurAu->uiEndPos = uiAvailNalNum - 2;
+ pCtx->bAuReadyFlag = true;
+ }
return NULL;
}