MTK 平台HAL层将单声道数据搬移至另一个声道

 AudioALSACaptureDataClient::CheckNeedDataConvert 中 加入以下代码

  if( factory_test_mode != true )
+    {
+           if (mStreamAttributeTarget->BesRecord_Info.besrecord_enable == true)
+           {
+               //need return stereo data
+              if (num_channel == 2)
+               {
+                  if (!mBesRecordStereoMode) //speech enhancement output data is mono, need to convert to stereo
+                   {
+                       short left;
+                       short right;
+                       int copysize = bytes >> 2;
+
+                       while (copysize)    //only left channel data is processed
+                       {
+                           left = *(buffer);
+                           *(buffer) = left;
+                           *(buffer + 1) = left;
+                           buffer += 2;
+                           copysize--; 
+                       } 
+                   }
+               }
+           }
     }
+    else
+       {
+               
+        short right;
+        int copysize = bytes >> 2;
+
+        while (copysize)    //only left channel data is processed
+        {
+                       right = *(buffer+1);
+            *(buffer) = right;
+            *(buffer + 1) = right;
+            buffer += 2;
+            copysize--;
+           
+        }
+               
+       }
+   

+
+        while (copysize)    //only left channel data is processed
+        {
+                       right = *(buffer+1);
+            *(buffer) = right;
+            *(buffer + 1) = right;
+            buffer += 2;
+            copysize--;
+           
+        }
+               
+       }
+   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值