⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 voip_adapter_compare.c

📁 telcobridges voip develop
💻 C
📖 第 1 页 / 共 5 页
字号:
			if( in_pCurrentVpGroup->un32NbResources > 2 )
			{
				/*
				 *	Group 1 conferencing parameters
				 */
				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.fDominantAlgoEnabled != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.fDominantAlgoEnabled )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16AttackTimeMsec != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16AttackTimeMsec )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16NoiseThreshold1 != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16NoiseThreshold1 )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16NoiseThreshold2 != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16NoiseThreshold2 )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16HoldTimeMsec != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16HoldTimeMsec )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup0 != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup0 )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup0Db != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup0Db )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup1 != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup1 )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup1Db != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup1Db )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup2 != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.un16MaxNbTalkerInGroup2 )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				if( in_pCurrentVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup2Db != in_pTargetVpGroup->GroupParams.Group1.Conf.DominantAlgoParams.n16AttenuationOfGroup2Db )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}
			}

			/*
			 *	Group 1 resources
			 */
			for( un32Index = 0; un32Index < in_pCurrentVpGroup->un32NbResources; un32Index++ )
			{
				if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.ResType != in_pTargetVpGroup->aRes[un32Index].Params.Group1.ResType )
				{
					*out_pfMustReallocate = TBX_TRUE;
					TBX_EXIT_SUCCESS (TBX_RESULT_OK);
				}

				/*
				 *	Group 1 TDM resource
				 */
				if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.ResType == TB640_VP_RES_TYPE_TDM )
				{
					/*
					 *	Group 1 tone parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.CountryCode != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.CountryCode )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.DetectionTypeMask != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.DetectionTypeMask )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fGenerationEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fGenerationEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDetectionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDetectionEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fToneVerificationEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fToneVerificationEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fEarlyToneDetectionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fEarlyToneDetectionEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDtmfSuppressionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDtmfSuppressionEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDtmfCompleteSuppression != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.fDtmfCompleteSuppression )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMinValidToneOnMsec != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMinValidToneOnMsec )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMinValidToneOffMsec != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMinValidToneOffMsec )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMaxValidToneDropout != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Tone.un16DtmfMaxValidToneDropout )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					/*
					 *	Group 1 automatic gain control parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.fEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.fEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.fEnabled == TBX_TRUE )
					{
						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.TargetPower != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.TargetPower )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.LossLimit != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.LossLimit )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.GainLimit != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.GainLimit )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.SlewRate != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Agc.SlewRate )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}
					}

					/*
					 *	Group 1 voice activity detection parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.fEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.fEnabled )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.fEnabled == TBX_TRUE )
					{
						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.SidGenerationScheme != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.SidGenerationScheme )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.CngGenerationScheme != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.CngGenerationScheme )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.NoiseFloor != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Vad.NoiseFloor )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}
					}

					/*
					 *	Group 1 volume control parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.VolumeCtrlTowardTdm != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.VolumeCtrlTowardTdm )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.VolumeCtrlFromTdm != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.VolumeCtrlFromTdm )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					/*
					 *	Group 1 echo cancellation parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnable != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnable )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnable == TBX_TRUE )
					{
						/*
						 *	Group 1 echo cancellation parameters
						 */
						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableDCRemovalFilter != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableDCRemovalFilter )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableCoefficientUpdate != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableCoefficientUpdate )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableNonLinearProcessor != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableNonLinearProcessor )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.NonLinearProcessorTuneOption!= in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.NonLinearProcessorTuneOption )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableComfortNoiseGeneration != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableComfortNoiseGeneration )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableCrossCorrelationCalculation != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableCrossCorrelationCalculation )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableSpecialEchoPathChange != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableSpecialEchoPathChange )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableEchoReturnLossDetection != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableEchoReturnLossDetection )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableFastConvergenceControl != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.fEnableFastConvergenceControl )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.un8TailLengthMsec != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.un8TailLengthMsec )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.un8WindowSizeMsec != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.un8WindowSizeMsec )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}

						if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.DigitalGain != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Tdm.Echo.DigitalGain )
						{
							*out_pfMustReallocate = TBX_TRUE;
							TBX_EXIT_SUCCESS (TBX_RESULT_OK);
						}
					}
				}

				/*
				 *	Group 1 Stream resource
				 */
				else if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.ResType == TB640_VP_RES_TYPE_STREAM )
				{
					/*
					 *	Group 1 tone parameters
					 */
					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Stream.Tone.CountryCode != in_pTargetVpGroup->aRes[un32Index].Params.Group1.Stream.Tone.CountryCode )
					{
						*out_pfMustReallocate = TBX_TRUE;
						TBX_EXIT_SUCCESS (TBX_RESULT_OK);
					}

					if( in_pCurrentVpGroup->aRes[un32Index].Params.Group1.Stream.Tone.DetectionTypeMask != in_pTargetVpGroup->aRes[

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -