@ -370,29 +370,16 @@ void CommandGenerator::GenerateBiquadFilterEffectCommand(const s16 buffer_offset
if ( render_context . behavior - > IsEffectInfoVersion2Supported ( ) ) {
const auto * parameter =
reinterpret_cast < const BiquadFilterInfo : : ParameterVersion2 * > ( effect_info . GetParameter ( ) ) ;
if ( ! parameter ) {
LOG_ERROR ( Service_Audio , " Biquad filter parameter is null " ) ;
return ;
}
if ( parameter - > state < = EffectInfoBase : : ParameterState : : Updated ) {
param_state = parameter - > state ;
channel_count = parameter - > channel_count ;
}
} else {
const auto * parameter =
reinterpret_cast < const BiquadFilterInfo : : ParameterVersion1 * > ( effect_info . GetParameter ( ) ) ;
if ( ! parameter ) {
LOG_ERROR ( Service_Audio , " Biquad filter parameter is null " ) ;
return ;
}
param_state = parameter - > state ;
channel_count = parameter - > channel_count ;
}
if ( channel_count < = 0 ) {
return ;
}
if ( channel_count > 0 & & param_state < = EffectInfoBase : : ParameterState : : Updated ) {
if ( effect_info . IsEnabled ( ) ) {
bool needs_init { false } ;
@ -401,18 +388,10 @@ void CommandGenerator::GenerateBiquadFilterEffectCommand(const s16 buffer_offset
needs_init = true ;
break ;
case EffectInfoBase : : ParameterState : : Updating :
needs_init = ! render_context . behavior - > IsBiquadFilterEffectStateClearBugFixed ( ) ;
break ;
case EffectInfoBase : : ParameterState : : Updated :
if ( render_context . behavior - > IsBiquadFilterEffectStateClearBugFixed ( ) ) {
needs_init = false ;
} else {
needs_init = param_state = = EffectInfoBase : : ParameterState : : Updating ;
}
break ;
default :
LOG_ERROR ( Service_Audio ,
" Invalid biquad parameter state {}, treating as uninitialized " ,
static_cast < u32 > ( param_state ) ) ;
needs_init = true ;
break ;
}
@ -430,6 +409,7 @@ void CommandGenerator::GenerateBiquadFilterEffectCommand(const s16 buffer_offset
}
}
}
}
void CommandGenerator : : GenerateLightLimiterEffectCommand ( const s16 buffer_offset ,
EffectInfoBase & effect_info ,