fix 961370 -- review request #50
Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 1 file). Show all
Unified · Split
| @@ -206,6 +206,16 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 205 unmodified lines | |||
| 206 | pCurNal = &pCtx->sPrefixNal; | 206 | pCurNal = &pCtx->sPrefixNal; |
| 207 | 207 | ||
| 208 | if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) { | 208 | if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) { |
| 209 | pCtx->iErrorCode |= dsBitstreamError; | ||
| 210 | |||
| 211 | PAccessUnit pCurAu = pCtx->pAccessUnitList; | ||
| 212 | uint32_t uiAvailNalNum = pCurAu->uiAvailUnitsNum; | ||
| 213 | ForceClearCurrentNal (pCurAu); | ||
| 214 | |||
| 215 | if (uiAvailNalNum > 1) { | ||
| 216 | pCurAu->uiEndPos = uiAvailNalNum - 2; | ||
| 217 | pCtx->bAuReadyFlag = true; | ||
| 218 | } | ||
| 209 | return NULL; | 219 | return NULL; |
| 210 | } | 220 | } |
| 211 | 221 | ||
| @@ -250,6 +260,14 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 38 unmodified lines | |||
| 250 | 260 | ||
| 251 | if (pNalUnitHeader->eNalUnitType == NAL_UNIT_CODED_SLICE_EXT) { | 261 | if (pNalUnitHeader->eNalUnitType == NAL_UNIT_CODED_SLICE_EXT) { |
| 252 | if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) { | 262 | if (iNalSize < NAL_UNIT_HEADER_EXT_SIZE) { |
| 263 | pCtx->iErrorCode |= dsBitstreamError; | ||
| 264 | |||
| 265 | ForceClearCurrentNal (pCurAu); | ||
| 266 | |||
| 267 | if (uiAvailNalNum > 1) { | ||
| 268 | pCurAu->uiEndPos = uiAvailNalNum - 2; | ||
| 269 | pCtx->bAuReadyFlag = true; | ||
| 270 | } | ||
| 253 | return NULL; | 271 | return NULL; |
| 254 | } | 272 | } |
| 255 | 273 | ||