shithub: openh264

Download patch

ref: baf93a340e066cb0223f79b53c974df1da2f9f79
parent: 3c8e2a179205bfa8a291d21db243900e0445df4c
parent: ecd61026889ee645e40e6ca1a8c9c2d06b035f6b
author: HaiboZhu <[email protected]>
date: Wed Apr 29 11:18:17 EDT 2015

Merge pull request #1916 from huili2/bugfix_nodelay_dpbcrash

disable ECed output for nodelay decoding

--- a/codec/decoder/plus/src/welsDecoderExt.cpp
+++ b/codec/decoder/plus/src/welsDecoderExt.cpp
@@ -399,21 +399,21 @@
     unsigned char** ppDst,
     SBufferInfo* pDstInfo) {
   int iRet;
-  SBufferInfo sTmpBufferInfo;
-  unsigned char* ppTmpDst[3] = {NULL, NULL, NULL};
+  //SBufferInfo sTmpBufferInfo;
+  //unsigned char* ppTmpDst[3] = {NULL, NULL, NULL};
 
   iRet = (int) DecodeFrame2 (kpSrc, kiSrcLen, ppDst, pDstInfo);
-  memcpy (&sTmpBufferInfo, pDstInfo, sizeof (SBufferInfo));
-  ppTmpDst[0] = ppDst[0];
-  ppTmpDst[1] = ppDst[1];
-  ppTmpDst[2] = ppDst[2];
+  //memcpy (&sTmpBufferInfo, pDstInfo, sizeof (SBufferInfo));
+  //ppTmpDst[0] = ppDst[0];
+  //ppTmpDst[1] = ppDst[1];
+  //ppTmpDst[2] = ppDst[2];
   iRet |= DecodeFrame2 (NULL, 0, ppDst, pDstInfo);
-  if ((pDstInfo->iBufferStatus == 0) && (sTmpBufferInfo.iBufferStatus == 1)) {
-    memcpy (pDstInfo, &sTmpBufferInfo, sizeof (SBufferInfo));
-    ppDst[0] = ppTmpDst[0];
-    ppDst[1] = ppTmpDst[1];
-    ppDst[2] = ppTmpDst[2];
-  }
+  //if ((pDstInfo->iBufferStatus == 0) && (sTmpBufferInfo.iBufferStatus == 1)) {
+    //memcpy (pDstInfo, &sTmpBufferInfo, sizeof (SBufferInfo));
+    //ppDst[0] = ppTmpDst[0];
+    //ppDst[1] = ppTmpDst[1];
+    //ppDst[2] = ppTmpDst[2];
+  //}
 
   return (DECODING_STATE) iRet;
 }