From 06ff27011740001241d48b91343ed0b48bc108d4 Mon Sep 17 00:00:00 2001 From: Frank Livingston Date: Sat, 8 Jul 2017 18:25:37 -0500 Subject: [PATCH] PASDK-218:Add CB statistic for number of read AFs consumed for Nominal Delay --- pasdk/common/aspDecOpCircBuf_common.c | 2 ++ pasdk/common/aspDecOpCircBuf_common.h | 2 ++ pasdk/test_arm/framework/aspDecOpCircBuf_slave.c | 1 + pasdk/test_dsp/framework/aspDecOpCircBuf_master.c | 4 ++++ 4 files changed, 9 insertions(+) diff --git a/pasdk/common/aspDecOpCircBuf_common.c b/pasdk/common/aspDecOpCircBuf_common.c index 15cf1342..607b8ae9 100644 --- a/pasdk/common/aspDecOpCircBuf_common.c +++ b/pasdk/common/aspDecOpCircBuf_common.c @@ -167,6 +167,7 @@ Int cbReset( // reset stats pCb->readAfWriterInactiveCnt = 0; + pCb->readAfNdCnt = 0; pCb->wrtAfReaderInactiveCnt = 0; pCb->wrtAfZeroSampsCnt = 0; pCb->errUndCnt = 0; @@ -219,6 +220,7 @@ Int cbGetStats( // Populate statistics pCbStats->readAfWriterInactiveCnt = pCb->readAfWriterInactiveCnt; + pCbStats->readAfNdCnt = pCb->readAfNdCnt; pCbStats->wrtAfReaderInactiveCnt = pCb->wrtAfReaderInactiveCnt; pCbStats->wrtAfZeroSampsCnt = pCb->wrtAfZeroSampsCnt; pCbStats->errUndCnt = pCb->errUndCnt; diff --git a/pasdk/common/aspDecOpCircBuf_common.h b/pasdk/common/aspDecOpCircBuf_common.h index d8e67e7a..4f9c455f 100644 --- a/pasdk/common/aspDecOpCircBuf_common.h +++ b/pasdk/common/aspDecOpCircBuf_common.h @@ -130,6 +130,7 @@ typedef struct PAF_AST_DecOpCircBuf Int8 readerActiveFlag; // flag indicates whether CB reader is active: FALSE - reader not active, TRUE - reader active Int8 drainFlag; // flag indicates whether reader should drain (empty) remaining frames in CB: FALSE - reader should not drain, TRUE - reader should drain Int32 readAfWriterInactiveCnt; // count of read audio frames with inactive writer & not draining + Int32 readAfNdCnt; // count of read audio frames for nominal delay Int32 wrtAfReaderInactiveCnt; // count of write audio frames with inactive reader Int32 wrtAfZeroSampsCnt; // count of write audio frames with zero samples Int32 errUndCnt; // read error underflow count @@ -153,6 +154,7 @@ typedef struct PAF_AST_DecOpCircBuf typedef struct PAF_AST_DecOpCircBufStats { Int32 readAfWriterInactiveCnt; // count of read audio frames with inactive writer & not draining + Int32 readAfNdCnt; // count of read audio frames for nominal delay Int32 wrtAfReaderInactiveCnt; // count of write audio frames with inactive reader Int32 wrtAfZeroSampsCnt; // count of write audio frames with zero samples Int32 errUndCnt; // read error underflow count diff --git a/pasdk/test_arm/framework/aspDecOpCircBuf_slave.c b/pasdk/test_arm/framework/aspDecOpCircBuf_slave.c index ef20c918..d864671b 100644 --- a/pasdk/test_arm/framework/aspDecOpCircBuf_slave.c +++ b/pasdk/test_arm/framework/aspDecOpCircBuf_slave.c @@ -288,6 +288,7 @@ Int cbInitSourceSel( // Reset stats pCb->readAfWriterInactiveCnt = 0; + pCb->readAfNdCnt = 0; pCb->wrtAfReaderInactiveCnt = 0; pCb->wrtAfZeroSampsCnt = 0; pCb->errUndCnt = 0; diff --git a/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c b/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c index 21264a65..a8fa7ad9 100644 --- a/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c +++ b/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c @@ -209,6 +209,7 @@ Int cbInit( // reset stats pCb->readAfWriterInactiveCnt = 0; + pCb->readAfNdCnt = 0; pCb->wrtAfReaderInactiveCnt = 0; pCb->wrtAfZeroSampsCnt = 0; pCb->errUndCnt = 0; @@ -467,6 +468,7 @@ Int cbInitSourceSel( // reset stats pCb->readAfWriterInactiveCnt = 0; + pCb->readAfNdCnt = 0; pCb->wrtAfReaderInactiveCnt = 0; pCb->wrtAfZeroSampsCnt = 0; pCb->errUndCnt = 0; @@ -648,6 +650,8 @@ Int cbReadAf( //if ((pCb->primedFlag == 0) || ((pCb->primedFlag==1) && (pCb->deltaSamps > 0)) if ((pCb->primedFlag == 0) || (pCb->deltaSamps > 0)) { + pCb->readAfNdCnt++; + if (pCb->primedFlag == 1) { pCb->deltaSamps = pCb->deltaSamps - pCb->strFrameLen; -- 2.39.2