From fe4d335b54ede7a47fd4bcf5c228fb427cbcc8c9 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期二, 20 一月 2026 14:46:01 +0800
Subject: [PATCH] 新增通道参数拷贝功能

---
 src/hw_adapter.h |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/hw_adapter.h b/src/hw_adapter.h
index 3534984..d7c03f2 100644
--- a/src/hw_adapter.h
+++ b/src/hw_adapter.h
@@ -33,31 +33,37 @@
 	s8 usb_output_num;
 	s8 dante_input_num ;
 	s8 dante_output_num ;
+	s8 local_input_num;
+	s8 local_output_num;
 public:
 	virtual ~hw_adapter_t(){}
-	hw_adapter_t(s8 dual_dsp,s8 dsp_index,s8 ana_input_num,s8 ana_output_num,s8 dante_input_num,s8 dante_output_num)
+	hw_adapter_t(s8 dual_dsp, s8 dsp_index, s8 local_input_num, s8 local_output_num, s8 dante_input_num, s8 dante_output_num)
 	{
 		this->dual_dsp = dual_dsp;
 		this->dsp_index = dsp_index ;
-		this->ana_input_num = ana_input_num;
-		this->ana_output_num = ana_output_num;
+		this->local_input_num = local_input_num;
+		this->local_output_num = local_output_num;
 		this->dante_input_num = dante_input_num;
 		this->dante_output_num = dante_output_num;
 		this->usb_input_num = 2;
 		this->usb_output_num = 2;
+		this->ana_input_num = local_input_num - usb_input_num;
+		this->ana_output_num = local_output_num - usb_output_num;
 	}
-	uvoid get_channel_num(s8* ana_rx_num,s8* ana_tx_num,s8* dante_rx_num,s8* dante_tx_num)
+	uvoid get_channel_num(s8* loc_rx_num,s8* loc_tx_num,s8* dante_rx_num,s8* dante_tx_num,s8* usb_rx_num,s8* usb_tx_num)
 	{
-		*ana_rx_num = ana_input_num;
-		*ana_tx_num = ana_output_num;
+		*loc_rx_num = local_input_num;
+		*loc_tx_num = local_output_num;
 		*dante_rx_num = dante_input_num;
 		*dante_tx_num = dante_output_num;
+		*usb_rx_num = usb_input_num;
+		*usb_tx_num = usb_output_num;
 	}
 
 	uvoid get_channel_num(u16* input_num ,u16* output_num)
 	{
-		*input_num = ana_input_num+dante_input_num;
-		*output_num = ana_output_num+dante_output_num;
+		*input_num = local_input_num+dante_input_num;
+		*output_num = local_output_num+dante_output_num;
 	}
 
 	s32 get_dsp_index() {return dsp_index ;}
@@ -66,7 +72,7 @@
 	//dai,sport配置顺序就已经决定了物理buffer.
 	virtual uvoid config_board(struct DSPConfig * conf) =0;
 
-	//根据逻辑通道号获取物理通道号,从0开始.
+	//根据逻辑通道号获取物理通道号
 	//逻辑通道号就是输入输出模块通道(端口)索引; 物理通道号是sport配置的buffer.
 	virtual s32 get_physical_channel(s32 input , s32 logic_channel) = 0;
 };

--
Gitblit v1.9.3