📄 voip_adapter_compare.c
字号:
if
(
in_pCurrentVpGroup->Common.fAllocated !=
in_pTargetVpGroup->Common.fAllocated
)
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.GroupType != in_pTargetVpGroup->GroupParams.GroupType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->un32NbResources != in_pTargetVpGroup->un32NbResources )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if ( in_pCurrentVpGroup->GroupParams.GroupType != in_pTargetVpGroup->GroupParams.GroupType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.GroupType == TB640_VP_GROUP_TYPE_0 )
{
/*
* Group 0 parameters
*/
if( in_pCurrentVpGroup->GroupParams.Group0.GroupType != in_pTargetVpGroup->GroupParams.Group0.GroupType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->un32NbResources > 2 )
{
/*
* Group 0 conferencing parameters
*/
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.un32DominantLimit != in_pTargetVpGroup->GroupParams.Group0.Conf.un32DominantLimit )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.NoiseSuppressionLimit != in_pTargetVpGroup->GroupParams.Group0.Conf.NoiseSuppressionLimit )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 automatic gain control parameters for conferencing
*/
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.fEnabled != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.Mode != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.Mode )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.TargetPower != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.TargetPower )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.LossLimit != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.LossLimit )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.GainLimit != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.GainLimit )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Agc.FixedGain != in_pTargetVpGroup->GroupParams.Group0.Conf.Agc.FixedGain )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 voice activity detection parameters for conferencing
*/
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Vad.fEnabled != in_pTargetVpGroup->GroupParams.Group0.Conf.Vad.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Vad.NoiseFloor != in_pTargetVpGroup->GroupParams.Group0.Conf.Vad.NoiseFloor )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Vad.un32HangTime != in_pTargetVpGroup->GroupParams.Group0.Conf.Vad.un32HangTime )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.Conf.Vad.un32WindowSize != in_pTargetVpGroup->GroupParams.Group0.Conf.Vad.un32WindowSize )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
}
/*
* Group 0 FSK parameters
*/
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.fEnabled != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.fEnabled == TBX_TRUE )
{
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.Type != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.Type )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.Level != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.Level )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.Framing != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.Framing )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.Digit != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.Digit )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.Level != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.Level )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.un32OnTimeMs != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.un32OnTimeMs )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.un32OffTimeMs != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.un32OffTimeMs )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if ( in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.Digit == TB640_VP_DIGIT_TYPE_CUSTOM )
{
if( (in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[0] != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[0]) ||
(in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[1] != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[1]) ||
(in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[2] != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[2]) ||
(in_pCurrentVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[3] != in_pTargetVpGroup->GroupParams.Group0.FskRxAuto.TasAcknowledge.aun32CustomFreq[3]) )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
}
}
/*
* Group 0 resource parameters
*/
for( un32Index = 0; un32Index < in_pCurrentVpGroup->un32NbResources; un32Index++ )
{
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.ResType != in_pTargetVpGroup->aRes[un32Index].Params.Group0.ResType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 TDM resource
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.ResType == TB640_VP_RES_TYPE_TDM )
{
/*
* Group 0 voice activity detection parameters
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Vad.fEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Vad.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 automatic gain control parameters
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Agc.fEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Agc.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 tone parameters
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fGenerationEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fGenerationEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fDetectionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fDetectionEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.DetectionTypeMask != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.DetectionTypeMask )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fSuppressionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Tdm.Tone.fSuppressionEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
}
/*
* Group 0 stream resource
*/
else if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.ResType == TB640_VP_RES_TYPE_STREAM )
{
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.fPlaybackEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.fPlaybackEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.fRecordEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.fRecordEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.PacketType != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.PacketType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.PacketDurationMs != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.PacketDurationMs )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.un32JitterBufferSize != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.un32JitterBufferSize )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 automatic gain control parameters
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.Agc.fEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.Agc.fEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
/*
* Group 0 tone parameters
*/
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fGenerationEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fGenerationEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fDetectionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fDetectionEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.DetectionTypeMask != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.DetectionTypeMask )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
if( in_pCurrentVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fSuppressionEnabled != in_pTargetVpGroup->aRes[un32Index].Params.Group0.Stream.Tone.fSuppressionEnabled )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
}
else
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
}
}
else
{
/*
* Group 1 parameters
*/
if( in_pCurrentVpGroup->GroupParams.Group1.GroupType != in_pTargetVpGroup->GroupParams.Group1.GroupType )
{
*out_pfMustReallocate = TBX_TRUE;
TBX_EXIT_SUCCESS (TBX_RESULT_OK);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -