]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blobdiff - pasdk/common/aspDecOpCircBuf_common.c
PASDK258: Updated PAF submodule for SRC fix.
[processor-sdk/performance-audio-sr.git] / pasdk / common / aspDecOpCircBuf_common.c
index b127faff89125cedcbbe5ea65c2e7b5c699c6cd2..099bdfa45984bc8ea5d4e950f8fc91f255423a51 100644 (file)
@@ -80,6 +80,13 @@ Int cbReset(
         pCb->afRdIdx = ASP_DECOP_CB_INIT_RDIDX_DDP;
         pCb->pcmRdIdx = pCb->decOpFrameLen - ASP_DECOP_CB_INIT_LAG_DDP*pCb->strFrameLen;
     }
+    else if (pCb->sourceSel == PAF_SOURCE_THD)
+    {
+        // 0 in behind
+        pCb->afWrtIdx = ASP_DECOP_CB_INIT_WRTIDX_THD;
+        pCb->afRdIdx = ASP_DECOP_CB_INIT_RDIDX_THD;
+        pCb->pcmRdIdx = 0;
+    }
 
     // initialize circular buffer current number of frames
     pCb->numAfCb = pCb->afWrtIdx - pCb->afRdIdx;
@@ -89,9 +96,9 @@ Int cbReset(
         pAfCb = &pCb->afCb[n];
         
         // clear PCM data
-        for (i=0; i<ASP_DECOP_CB_MAX_NUM_PCM_CH; i++)
+        for (i=0; i<pCb->maxAFChanNum; i++)
         {
-            memset(pAfCb->data.sample[i], pCb->decOpFrameLen, 0);
+            memset(pAfCb->data.sample[i], 0, pCb->maxAFSampCount);
         }
         
         // clear metadata
@@ -110,9 +117,9 @@ Int cbReset(
     for (n=0; n<pCb->maxNumAfCb; n++)
     {
         pAfCb = &pCb->afCb[n];
-        for (i=0; i<ASP_DECOP_CB_MAX_NUM_PCM_CH; i++)
+        for (i=0; i<pCb->maxAFChanNum; i++)
         {
-            Cache_wb(pAfCb->data.sample[i], pCb->decOpFrameLen*sizeof(PAF_AudioData), Cache_Type_ALLD, 0);
+            Cache_wb(pAfCb->data.sample[i], pCb->maxAFSampCount*sizeof(PAF_AudioData), Cache_Type_ALLD, 0);
         }
     }
     Cache_wait();