PASDK-218:Relocate first setCheckRateX and startOutput to ASOT:decodeProcessing:INIT
authorFrank Livingston <frank-livingston@ti.com>
Fri, 7 Jul 2017 21:47:18 +0000 (16:47 -0500)
committerFrank Livingston <frank-livingston@ti.com>
Fri, 7 Jul 2017 21:47:18 +0000 (16:47 -0500)
pasdk/test_dsp/framework/audioStreamOutProc.c

index 38e6f342f7af098ee5e88acf0526efafd20cf805..21cc1172655204b3d7993027b4a3e28ba5b28234 100644 (file)
@@ -155,7 +155,7 @@ static Int PAF_ASOT_initSyncDecReset(
     PAF_AudioFrame *pDecResetAf
 );
 
-//   Purpose:   ASOT Function for resetting output processing.
+//   Purpose:   ASOT Function for Output reset
 static Int PAF_ASOT_outputReset(
     const PAF_ASOT_Params *pP, 
     const PAF_ASOT_Patchs *pQ, 
@@ -171,6 +171,13 @@ static Int PAF_ASOT_initSyncDecInfo1(
     PAF_AudioFrame *pDecInfo1Af
 );
 
+//   Purpose:   ASOT function for ASP chain reset and ENC info
+static Int PAF_ASOT_outputInfo1(
+    const PAF_ASOT_Params *pP, 
+    const PAF_ASOT_Patchs *pQ, 
+    PAF_ASOT_Config *pAsotCfg
+);
+
 //   Purpose:   Init-Sync Dec Decode1 state function.
 //              Performes Dec Decode1 Init-Sync.
 static Int PAF_ASOT_initSyncDecDecode1(
@@ -1731,9 +1738,8 @@ PAF_ASOT_decodeProcessing(
                     break;
                 }
                 
-#if 0 // FL: moved to PAF_ASOT_initSyncDecInfo1()
                 //
-                // Setup output: ASP chain reset, ENC reset, setCheckRateX, start output
+                // Setup output: setCheckRateX, start output
                 //
                 // Establish secondary timing
                 errno = pP->fxns->decodeInfo1(pP, pQ, pAsotCfg, frame, block);
@@ -1742,7 +1748,6 @@ PAF_ASOT_decodeProcessing(
                     TRACE_VERBOSE1("PAF_ASOT_decodeProcessing: INIT, errno 0x%x.  break after decodeInfo1", errno);
                     break;
                 }
-#endif
                 
                 TRACE_VERBOSE0("PAF_ASOT_decodeProcessing: state: INIT->STREAM");                
                 state = STREAM;
@@ -2079,10 +2084,11 @@ PAF_ASOT_decodeInfo1(
     Int block
 )
 {
-    PAF_AST_Config *pAstCfg;
-    Int z;                              /* decode/encode counter */
+    //PAF_AST_Config *pAstCfg;
+    //Int z;                              /* decode/encode counter */
     Int errno;                          /* error number */
 
+#if 0 // moved to PAF_ASOT_outputInfo1()
     pAstCfg = pAsotCfg->pAstCfg; // get pointer to AST common (shared) configuration
 
     // run the chain of ASP's on the stream.
@@ -2118,6 +2124,7 @@ PAF_ASOT_decodeInfo1(
             }
         }
     }
+#endif    
 
     errno = pP->fxns->setCheckRateX(pP, pQ, pAsotCfg, 0);
     if (errno)
@@ -2149,7 +2156,7 @@ PAF_ASOT_decodeInfo1(
             TRACE_TERSE1("PAF_ASOT_decodeInfo1: startOutput returns errno 0x%x", errno);
         }
         return errno;
-    }    
+    }
     
     return 0;
 }
@@ -3275,7 +3282,7 @@ static Int PAF_ASOT_initSyncDecReset(
     }
 }
 
-//   Purpose:   ASOT Function for resetting output processing.
+//   Purpose:   ASOT Function for Output reset
 static Int PAF_ASOT_outputReset(
     const PAF_ASOT_Params *pP, 
     const PAF_ASOT_Patchs *pQ, 
@@ -3373,13 +3380,10 @@ static Int PAF_ASOT_initSyncDecInfo1(
         //}
         outIsCpyAf(pDecInfo1Af, pStrAf);
         
-        // decodeInfo1():
+        // outputInfo1():
         //      - ASP chain reset,
-        //      - Enc Info,
-        //      - setCheckRateX,
-        //      - startOutput
-        // frame and block parameters set to 0
-        errno = pP->fxns->decodeInfo1(pP, pQ, pAsotCfg, 0, 0);
+        //      - Enc Info
+        PAF_ASOT_outputInfo1(pP, pQ, pAsotCfg);
         if (errno)
         {
             return ASOP_DECINFO1_ERR;
@@ -3389,6 +3393,58 @@ static Int PAF_ASOT_initSyncDecInfo1(
     }
 }
 
+//   Purpose:   ASOT function for ASP chain reset and ENC info
+static Int PAF_ASOT_outputInfo1(
+    const PAF_ASOT_Params *pP, 
+    const PAF_ASOT_Patchs *pQ, 
+    PAF_ASOT_Config *pAsotCfg
+)
+{
+    PAF_AST_Config *pAstCfg;
+    Int z;                              /* decode/encode counter */
+    Int errno;                          /* error number */
+
+    
+    pAstCfg = pAsotCfg->pAstCfg; // get pointer to AST common (shared) configuration
+
+    // FL: frame parameter hard-coded to 0
+    // run the chain of ASP's on the stream.
+    TRACE_VERBOSE0("PAF_ASOT_decodeInfo1: calling streamChainFunction.");
+    errno = pP->fxns->streamChainFunction(pP, pQ, pAsotCfg, 
+        PAF_ASP_CHAINFRAMEFXNS_RESET, 1, 0);
+    if (errno)
+    {
+        TRACE_TERSE1("PAF_ASOT_outputInfo1: streamChainFunction returns errno 0x%x ", errno);
+        return errno;
+    }
+
+    TRACE_VERBOSE0("PAF_ASOT_outputInfo1: calling enc->info.");
+    for (z=ENCODE1; z < ENCODEN; z++) 
+    {
+        Int zO = pP->outputsFromEncodes[z];
+        if (pAstCfg->xOut[zO].hTxSio && pAstCfg->xEnc[z].encodeStatus.mode) 
+        {
+            Int select = pAstCfg->xEnc[z].encodeStatus.select;
+            ALG_Handle encAlg = pAstCfg->xEnc[z].encAlg[select];
+            ENC_Handle enc = (ENC_Handle )encAlg;
+            
+            if (enc->fxns->info)
+            {
+                errno = enc->fxns->info(enc, NULL,
+                    &pAstCfg->xEnc[z].encodeControl, 
+                    &pAstCfg->xEnc[z].encodeStatus);
+                if (errno)
+                {
+                    TRACE_TERSE1("PAF_ASOT_outputInfo1: info returns errno 0x%x ", errno);
+                    return errno;
+                }
+            }
+        }
+    }
+    
+    return 0;
+}
+
 //   Purpose:   Init-Sync Dec Decode1 state function.
 //              Performes Dec Decode1 Init-Sync.
 static Int PAF_ASOT_initSyncDecDecode1(
@@ -3398,7 +3454,7 @@ static Int PAF_ASOT_initSyncDecDecode1(
 )
 {
     PAF_AST_Config *pAstCfg;            // ASIT/ASOT/ASDT shared configuration
-    Int zMD, zMS;                       // Dec and Stream Master indices
+    Int zMD;                            // Dec Master index
     PAF_AST_OutInitSyncCtl *pOutIsCtl;  // Output Init-Sync control
     Int8 decFlag;                       // dec stage flag
     Int errno;                          // error number
@@ -3486,11 +3542,8 @@ static Int PAF_ASOT_initSyncResync(
     
     // decodeInfo1():
     //      - ASP chain reset,
-    //      - Enc Info,
-    //      - setCheckRateX,
-    //      - startOutput
-    // frame and block parameters set to 0
-    errno = pP->fxns->decodeInfo1(pP, pQ, pAsotCfg, 0, 0);
+    //      - Enc Info
+    errno = PAF_ASOT_outputInfo1(pP, pQ, pAsotCfg);
     if (errno)
     {
         return errno;