Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 1 file). Show all
Unified · Split
| @@ -400,11 +400,19 @@ DECODING_STATE CWelsDecoder::DecodeFrameNoDelay (const unsigned char* kpSrc, · 399 unmodified lines | ||
| 400 | 400 | SBufferInfo* pDstInfo) { |
| 401 | 401 | int iRet; |
| 402 | 402 | SBufferInfo sTmpBufferInfo; |
| 403 | + unsigned char* ppTmpDst[3] = {NULL, NULL, NULL}; | |
| 404 | + | |
| 403 | 405 | iRet = (int) DecodeFrame2 (kpSrc, kiSrcLen, ppDst, pDstInfo); |
| 404 | 406 | memcpy (&sTmpBufferInfo, pDstInfo, sizeof (SBufferInfo)); |
| 407 | + ppTmpDst[0] = ppDst[0]; | |
| 408 | + ppTmpDst[1] = ppDst[1]; | |
| 409 | + ppTmpDst[2] = ppDst[2]; | |
| 405 | 410 | iRet |= DecodeFrame2 (NULL, 0, ppDst, pDstInfo); |
| 406 | 411 | if ((pDstInfo->iBufferStatus == 0) && (sTmpBufferInfo.iBufferStatus == 1)) { |
| 407 | 412 | memcpy (pDstInfo, &sTmpBufferInfo, sizeof (SBufferInfo)); |
| 413 | + ppDst[0] = ppTmpDst[0]; | |
| 414 | + ppDst[1] = ppTmpDst[1]; | |
| 415 | + ppDst[2] = ppTmpDst[2]; | |
| 408 | 416 | } |
| 409 | 417 | |
| 410 | 418 | return (DECODING_STATE) iRet; |