Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 2 files). Show all
Unified · Split
| @@ -592,6 +592,12 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 591 unmodified lines | ||
| 592 | 592 | } |
| 593 | 593 | return dsErrorFree; |
| 594 | 594 | } |
| 595 | + if ((m_pDecContext->iErrorCode == (dsBitstreamError | dsDataErrorConcealed)) && m_pDecContext->eSliceType == B_SLICE) { | |
| 596 | + if (ResetDecoder()) { | |
| 597 | + return DECODING_STATE (dsBitstreamError | dsDataErrorConcealed); | |
| 598 | + } | |
| 599 | + return dsErrorFree; | |
| 600 | + } | |
| 595 | 601 | //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss. |
| 596 | 602 | if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) || |
| 597 | 603 | (VIDEO_BITSTREAM_AVC == m_pDecContext->eVideoType)) { |