PASDK-326: Fix for DDP CB, channel address corruption.
authorChitresh Gupta <chitresh.g@pathpartnertech.com>
Fri, 21 Jul 2017 15:23:47 +0000 (20:53 +0530)
committerChitresh Gupta <chitresh.g@pathpartnertech.com>
Fri, 21 Jul 2017 15:23:47 +0000 (20:53 +0530)
pasdk/common/aspDecOpCircBuf_common.h
pasdk/test_arm/framework/aspDecOpCircBuf_slave.c

index 2303d6960ed7e482f6dcf0baac43eb62d92997fb..65e6c48de0910720766bde15ce0b3d6a8fde03a8 100644 (file)
@@ -76,16 +76,16 @@ All rights reserved.
 #define ASP_DECOP_CB_INIT_WRTIDX_PCM            ( 0 )
 #define ASP_DECOP_CB_INIT_RDIDX_PCM             ( 0 )
 #define ASP_DECOP_CB_INIT_LAG_PCM               ( 2 )
-#define ASP_DECOP_CB_TARGET_ND_SAMPS_48kPCM     ( ASP_DECOP_CB_INIT_LAG_PCM * 256 ) // PCM target Nominal Delay in number of samples, fs=48 kHz
+#define ASP_DECOP_CB_TARGET_ND_SAMPS_48kPCM     ( (ASP_DECOP_CB_INIT_LAG_PCM+1) * 256 ) // PCM target Nominal Delay in number of samples, fs=48 kHz
 
-#define ASP_DECOP_CB_MAX_NUM_AF_DDP             ( 2 )
+#define ASP_DECOP_CB_MAX_NUM_AF_DDP             ( 3 )
 #if (ASP_DECOP_CB_MAX_NUM_AF_DDP > ASP_DECOP_CB_MAX_NUM_AF)
     #error "CB Max AF DDP error"
 #endif
 #define ASP_DECOP_CB_INIT_WRTIDX_DDP            ( 0 )
 #define ASP_DECOP_CB_INIT_RDIDX_DDP             ( 0 )
 #define ASP_DECOP_CB_INIT_LAG_DDP               ( 1 )
-#define ASP_DECOP_CB_TARGET_ND_SAMPS_48kDDP     ( ASP_DECOP_CB_INIT_LAG_DDP * 1536 ) // DDP target Nominal Delay in number of samples, fs=48 kHz
+#define ASP_DECOP_CB_TARGET_ND_SAMPS_48kDDP     ( (ASP_DECOP_CB_INIT_LAG_DDP+1) * 1536 ) // DDP target Nominal Delay in number of samples, fs=48 kHz
 
 #define ASP_DECOP_CB_MAX_NUM_AF_THD             ( 30 ) //( 15 )
 #if (ASP_DECOP_CB_MAX_NUM_AF_THD > ASP_DECOP_CB_MAX_NUM_AF)
index 31532010ce5082b43cfd48d598efb42756a1b9e6..2294ae285b263eb763de5052d2224e63af6bba12 100644 (file)
@@ -257,7 +257,7 @@ Int cbWriteAf(
         pAfCb = &pCb->afCb[pCb->afWrtIdx];
         pPcmBuf = pAfCb->data.sample[0];
         pMetaBuf = pAfCb->pafPrivateMetadata[0].pMdBuf;
-        if((pPcmBuf + (pAfWrt->sampleCount * pCb->maxAFChanNum )) > (pCb->pcmBufEnd))
+        if((pPcmBuf + (pAfWrt->sampleCount * pCb->maxAFChanNum )) >= (pCb->pcmBufEnd))
         {
             pPcmBuf = pCb->pcmBuf;
         }