ref: b55f1bdfe2f6b9b2714bfe178d6174e8070b7029
parent: 0f4499121a35ff33a5c733919366134c0e0cbb0b
author: huili2 <[email protected]>
date: Thu Jun 26 18:13:16 EDT 2014
add return error if data lost
--- a/codec/api/svc/codec_app_def.h
+++ b/codec/api/svc/codec_app_def.h
@@ -58,6 +58,7 @@
dsBitstreamError = 0x04, /* Error bitstreams(maybe broken internal frame) the decoder cared */
dsDepLayerLost = 0x08, /* Dependented layer is ever lost */
dsNoParamSets = 0x10, /* No parameter set NALs involved */
+ dsDataErrorConcealed = 0x20, /* current data Error concealed specified */
/* Errors derived from logic level */
dsInvalidArgument = 0x1000, /* Invalid argument specified */
--- a/codec/decoder/core/src/decoder_core.cpp
+++ b/codec/decoder/core/src/decoder_core.cpp
@@ -1943,6 +1943,7 @@
if (NeedErrorCon (pCtx)) {
ImplementErrorCon (pCtx);
pCtx->iTotalNumMbRec = pCtx->pSps->iMbWidth * pCtx->pSps->iMbHeight;
+ pCtx->iErrorCode |= dsDataErrorConcealed;
}
}
@@ -1992,6 +1993,7 @@
pCtx->iPrevFrameNum = pCtx->sLastSliceHeader.iFrameNum; //save frame_num
if (pCtx->bLastHasMmco5)
pCtx->iPrevFrameNum = 0;
+ pCtx->iErrorCode |= dsDataErrorConcealed;
}
}
return ERR_NONE;