Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 6 files). Show all
Unified · Split
| @@ -383,6 +383,22 @@ long CWelsDecoder::GetOption (DECODER_OPTION eOptID, void* pOption) { · 382 unmodified lines | ||
| 383 | 383 | return cmInitParaError; |
| 384 | 384 | } |
| 385 | 385 | |
| 386 | +DECODING_STATE CWelsDecoder::DecodeFrameNoDelay (const unsigned char* kpSrc, | |
| 387 | + const int kiSrcLen, | |
| 388 | + unsigned char** ppDst, | |
| 389 | + SBufferInfo* pDstInfo) { | |
| 390 | + int iRet; | |
| 391 | + SBufferInfo sTmpBufferInfo; | |
| 392 | + iRet = (int) DecodeFrame2 (kpSrc, kiSrcLen, ppDst, pDstInfo); | |
| 393 | + memcpy (&sTmpBufferInfo, pDstInfo, sizeof (SBufferInfo)); | |
| 394 | + iRet |= DecodeFrame2 (NULL, 0, ppDst, pDstInfo); | |
| 395 | + if ((pDstInfo->iBufferStatus == 0) && (sTmpBufferInfo.iBufferStatus == 1)) { | |
| 396 | + memcpy (pDstInfo, &sTmpBufferInfo, sizeof (SBufferInfo)); | |
| 397 | + } | |
| 398 | + | |
| 399 | + return (DECODING_STATE) iRet; | |
| 400 | +} | |
| 401 | + | |
| 386 | 402 | DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, |
| 387 | 403 | const int kiSrcLen, |
| 388 | 404 | unsigned char** ppDst, |