| | |
| | | if (!bin) return 0; |
| | | |
| | | struct Module *m = (struct Module *)(bin + size); |
| | | printf("proc list size %d\n", proc_list.size()); |
| | | dbg_printf("proc list size %d\n", proc_list.size()); |
| | | |
| | | for (i=0; i< proc_list.size(); i++) { |
| | | Module *m = (struct Module *)(bin + size); |
| | |
| | | continue; |
| | | } |
| | | |
| | | //ducker & spl. |
| | | //ducker & spl with mix. |
| | | if(p->proc_type == PROC_DUCKER || p->proc_type == PROC_CONTINUNOUS_SPL) { |
| | | //insert a mixer. |
| | | struct Module *mixer = (struct Module *)(bin + size); |
| | | u16 channelID[64]; |
| | | |
| | | mixer->mDsp = 0; |
| | | mixer->mID = p->proc_id + 320; |
| | | mixer->mType = ModuleType::PROC_MIXER; |
| | | mixer->mTag = 0; |
| | | mixer->mPhyModule = 0; |
| | | mixer->mParamaddr = (s32)get_module_param_ptr(mixer->mType, p->parameters, p->fixed); |
| | | |
| | | size += sizeof(struct Module); |
| | | |
| | | mixer->mRxNum = str_delim(proc_list[1].inportstr, channelID) ; |
| | | memcpy(bin + size , channelID, mixer->mRxNum*sizeof(u16)); size += mixer->mRxNum*sizeof(u16); |
| | | mixer->mTxNum = 1; |
| | | memcpy(bin + size , &rxBufID[1], mixer->mTxNum*sizeof(u16)); size += mixer->mTxNum*sizeof(u16); |
| | | ninports = str_delim(proc_list[1].inportstr, &rxBufID[1]) + 1; // rxBufID[0] is the dataIn Frame, rxBufID[1]~rxBufID[inportstr] is the mix channel. |
| | | } |
| | | if(hw_adapter->get_system_is_dual_dsp()){ |
| | | dsp_index = p->dsp_index ; |
| | |
| | | else { |
| | | dsp_index = 0; |
| | | } |
| | | |
| | | |
| | | m = (struct Module *)(bin + size); |
| | | for(j = 0 ; j< ninports ;j ++) { |
| | |
| | | for(j = 0 ; j< ninports ;j ++, phy_id++) { |
| | | phy_id->mIntType = 0; |
| | | phy_id->mPhyID = hw_adapter->get_physical_channel(1, rxBufID[j]-1); |
| | | // printf("PhyID:%d\n", phy_id->mPhyID); |
| | | // dbg_printf("PhyID:%d\n", phy_id->mPhyID); |
| | | } |
| | | size += ninports*sizeof(PhyPort); |
| | | } |