Merge pull request #13 in PROCESSOR-SDK/audio-preprocessing-fw from PRSDK-4807 to... master DEV.AUDIO_PREPROC.01.06.00.00 DEV.PROCESSOR-SDK.05.03.00.05 DEV.PROCESSOR-SDK.06.00.00.05 DEV.PROCESSOR-SDK.06.01.00.07
authorMahesh Radhakrishnan <a0875154@ti.com>
Tue, 5 Feb 2019 13:25:10 +0000 (07:25 -0600)
committerMahesh Radhakrishnan <a0875154@ti.com>
Tue, 5 Feb 2019 13:25:10 +0000 (07:25 -0600)
* commit '668931c4ad1b70cd92bb24287bd20924639aff94':
  PRSDK-4807 Addressing review comments
  PRSDK-4807 Fix Klocwork issue

common/components/mss/src/mssproc.c

index 87ce6ff2e8a5998d40911659a3092b74de6c527d..fa54d088df9e6f4e8e9770463459032ec52fd9d6 100644 (file)
@@ -343,7 +343,7 @@ void mss_src_output(mssInst_t *inst, void *out, void *mic_fix[],
   }\r
 \r
   /* Check if in the middle of a switch. */\r
-  if(!mss_chkbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC)) {\r
+  if(!mss_chkbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC) && cur_sel_src != NULL) {\r
     /* If it is not during a switch, copy the current selected source to output \r
        without any modification. */\r
     memcpy(out, cur_sel_src, inst->frame_size*sizeof(linSample));\r
@@ -369,17 +369,23 @@ void mss_src_output(mssInst_t *inst, void *out, void *mic_fix[],
     phase_inc = inst->crossfade_phase_inc;\r
     output = (linSample *)out;\r
 \r
-    for(i=0; i<inst->frame_size; i++) {\r
-//      alpha = (1-utlSin(phase>>16)) / 2; /* to use macros */\r
-      sin_phase = utlSin(phase>>16);   /* Q.31 to Q.15 */\r
-      fade_out_alpha = MSS_SIN_PIOVER2/2 - sin_phase/2; /* (1-sin(pha))/2 in Q.14 */\r
-      fade_in_alpha  = MSS_SIN_PIOVER2/2 + sin_phase/2; /* (1+sin(pha))/2 in Q.14 */\r
-      fade_out_alpha = mss_MIN(16383, fade_out_alpha);\r
-      fade_in_alpha  = mss_MIN(16383, fade_in_alpha);\r
-      output[i] = frctMul(cur_sel_src[i], 0, fade_out_alpha, 14, 0) \r
+    if(cur_sel_src != NULL && new_sel_src != NULL)\r
+    {\r
+        for(i=0; i<inst->frame_size; i++) {\r
+            sin_phase = utlSin(phase>>16);   /* Q.31 to Q.15 */\r
+            fade_out_alpha = MSS_SIN_PIOVER2/2 - sin_phase/2; /* (1-sin(pha))/2 in Q.14 */\r
+            fade_in_alpha  = MSS_SIN_PIOVER2/2 + sin_phase/2; /* (1+sin(pha))/2 in Q.14 */\r
+            fade_out_alpha = mss_MIN(16383, fade_out_alpha);\r
+            fade_in_alpha  = mss_MIN(16383, fade_in_alpha);\r
+            output[i] = frctMul(cur_sel_src[i], 0, fade_out_alpha, 14, 0) \r
                  +frctMul(new_sel_src[i], 0, fade_in_alpha,  14, 0);\r
-      phase += phase_inc;\r
+            phase += phase_inc;\r
+        }\r
+    }\r
+    else {\r
+      /* error message */\r
     }\r
+\r
     inst->crossfade_phase = phase;\r
 \r
     /* for debugging only */\r